SlideShare une entreprise Scribd logo
1  sur  53
Software Development
Challenges & Opportunities

“You’ve got to be very careful if you don’t know where you’re going,
because you might not get there.”
Yogi Berra
Topics Covered in Presentation
Software Lifecycle – At a glance
Elements and Principles of Software
Development.
Software Development Activities
Challenges with Software Development
Problem solving Approach
Model driven development strategy
Risk vs Opportunity assessment
Software Development Lifecycle
Phases in development
Problems with the approach
Global and Legal Challenges
Opportunities in working with specific
approach.
• About
• Technology
• Client Base

• Services
Project analysis


Application for buying and selling
◦ Mobile application
◦ Search Adv.
◦ Post adv.
 Category
 Country

Analysis ?
Software Life Cycle
Software

construction goes through a
progression of states:
Conception

PreDevelopment

Childhood

Adulthood

Development

Retirement

PostDevelopment

5
Elements of Software
Development











User Requirements
Software Requirements: target systems,
languages
Architectural Design: target systems
Detailed Software Design: language, structure,
libraries
Implementation: languages, quality, version
control
Unit Testing
Integration Testing
System Testing
Deployment and Acceptance Testing
Maintenance: regression testing, quality control,
bug tracking, version control
6
Principles of System
Development


Get the system users involved.



Use a problem-solving approach.



Establish phases and activities.



Document through development.



Establish standards.



Manage the process and projects



Justify systems as capital investments.



Don’t be afraid to cancel or revise scope.



Divide and conquer.



Design systems for growth and change.
3-7
Possible Identification of Software Development
Activities
What is the problem?
What is the solution?

Requirements Analysis
System Design

Problem
Domain

Program Implementation

What are the mechanisms
that best implement the
solution?
Implementation
How is the solution
constructed?
Domain

Testing

Is the problem solved?

Program Design

Delivery

Can the customer use the solution?

Maintenance

Are enhancements needed?
8
Participants in Systems
Development

Who participates in the
system development life
cycle?
Inherent Challenges with Software
Development
Requirements are complex


◦

The client usually does not know all the functional requirements in advance

Requirements may be changing


◦

Technology enablers introduce new possibilities to deal with nonfunctional
requirements

Frequent changes are difficult to manage


◦

Identifying milestones and cost estimation is difficult

There is more than one software system


◦

New system must often be backward compatible with existing system
(―legacy system‖)

◦

Phased development: Need to distinguish between the system under
development and already released systems

10
Manage the Process and Projects
Process management –
 an ongoing activity that documents, manages,
oversees the use of, and improves an organization’s
chosen methodology (the ―process‖) for system
development. Process management is concerned
with phases, activities, deliverables, and quality
standards should be consistently applied to all
projects.
Project management
 is the process of scoping, planning, staffing,
organizing, directing, and controlling a project to
develop an information system at a minimum cost,
within a specified time frame, and with acceptable
quality.
311
Don’t Be Afraid to Cancel
or Revise Scope
Creeping commitment –
a strategy in which feasibility and risks are continuously reevaluated
throughout a project. Project budgets and deadlines are adjusted
accordingly.

Risk management –
the process of identifying, evaluating, and controlling what might go
wrong in a project before it becomes a threat to the successful
completion of the project or implementation of the information
system. Risk management is drive by risk analysis or assessment.

312
Where Do Systems Development
Projects Come From?


Problem –
◦ an undesirable situation that prevents the organization from fully
achieving its purpose, goals, and/or objectives.



Opportunity –
◦ a chance to improve the organization even in the absence of an
identified problem.



Directive –
◦ a new requirement that is imposed by management,
government, or some external influence.

313
Where Do Systems Development
Projects Come From?


Planned Projects
◦ An information systems strategy plan

 has examined the business as a whole to identify
those system development projects that will return
the greatest strategic (long-term) value to the
business
◦ A business process redesign
 has thoroughly analyzed a series of business
processes to eliminate redundancy and
bureaucracy and to improve efficiency and value
added. Not it is time to redesign the supporting
information system for those redesigned business
processes.
314
Use a Problem-Solving Approach
Classical Problem-solving approach
1. Study and understand the problem, its context,
and its impact.

2. Define the requirements that must be meet by any
solution.
3. Identify candidate solutions that fulfill the
requirements, and select the ―best‖ solution.
4. Design and/or implement the chosen solution.
5. Observe and evaluate the solution’s impact, and
refine the solution accordingly.

315
The PIECES Problem-Solving
Framework
P

the need to improve performance

I

the need to improve information (and
data)

E

the need to improve economics, control
costs, or increase profits

C

the need to improve control or security

E

the need to improve efficiency of people
and processes

S

the need to improve service to customers,
suppliers, partners, employees, etc.
Model-Driven Development Strategy


Model-driven development –
◦ a system development strategy that emphasizes the drawing of system models
to help visualize and analyze problems, define business requirements, and
design information systems.

◦ Process modeling – a process-centered technique popularized
by the structured analysis and design methodology that used
models of business process requirements to derive effective
software designs for a system.
◦ Data modeling – a data-centered technique used to model
business data requirements and design database systems that
fulfill those requirements.
◦ Object modeling – a technique that attempts to merge the data
and process concerns into singular constructs called objects.
Object models are diagrams that document a system in terms of
its objects and their interactions.
317
Logical vs. Physical Models
Logical model –
a pictorial representation that depicts what a
system is or does.

Physical model –
a technical pictorial representation that depicts
what a system is or does and how the system is
implemented.

318
Model-Driven Development
Strategy
Advantages
Requirements often
more thorough
 Easier to analyze
alternatives
 Design specifications
often more stable and
flexible
 Systems can be
constructed more
correctly the first time


Disadvantages
 Time consuming
 Models only as good
as users'
understanding of
requirements
 Reduces users' role
because pictures are
not software
 Can be Inflexible
319
RISK
Level
5
OPTIMIZED

Level
4
MANAGED

Level
3
DEFINED

Level
2
REPEATABLE

Level
1
INITIAL

COMPETITIVENESS
Opportunity


Principle 1:
◦



Principle 2:
◦



Establish Phases and Activities

Principle 4:
◦



Use a Problem-Solving Approach

Principle 3:
◦



Get the Owners and Users Involved

Justify Systems as Capital Investments

Principle 5:
◦

Don’t Be Afraid to Cancel or Revise Scope
The System Development Life Cycle
What are guidelines for system development?

Arrange tasks into phases (groups
of activities)

Involve users (anyone for whom
system is being built)

Develop clearly defined standards (procedures
company expects employees to follow)
What is a systems analyst?

Responsible for designing and
developing information system

Liaison between users and IT
professionals
What is the project team?

Formed to work on project from beginning to end

Consists of users, systems analyst, and other IT professionals
Project leader—one member of the team who
manages and controls project budget and
schedule
The System Development Life
Cycle

What are some reasons to create or modify an
information system?

To correct problem
in existing system

To improve
existing system

Outside group may
mandate change

Competition can
lead to change
What is the system proposal?
Assesses
feasibility
of each
alternative
solution
Recommen
ds the most
feasible
solution for
the project

Presented to
steering
committee,
which decides
how system will
be developed

Formal request for new or modified information
system Also called project request
Development Stages

1.
2.
3.

4.
5.
6.

7.

Analysis
Design
Implementation
Testing
Documentation
Evaluation
Maintenance
What is the analysis phase?
Conduct preliminary
investigation, also
called feasibility
study

Perform detailed
analysis

Read and understand the problem
 Interview client to be clear about the
problem
 Develop a software specification:


 Clear statement of problem
 Basis of legal agreement
 Agreed between analyst and client
Why & How


Play
Questioning


Write a program which calculates and
displays the average of a set of
numbers



Questions...?
Questioning
•

Write a program which calculates and
displays the average of a set of
numbers

•

Questions:
– How many numbers in set?
– What is maximum number?
– Are numbers integers, or real?
– What output device(s) to be used?
Inputs, Processes and Outputs
Inputs, Processes and Outputs
Inputs, Processes and Outputs
Feasibility Study
Operational
feasibility

Measure of
how suitable
system
development
will be to the
company

Four feasibility
tests:
Schedule
feasibility
Economic
feasibility
(also called
cost/benefit
feasibility)

Technical
feasibility
What is the planning phase?
Begins when steering committee receives project request

Steering
committee
decision-making
body for the
company

Function of committee:
Review and
approve project
requests

Prioritize
project requests

Allocate
resources

Form project
development
team for each
approved
project
What are possible solutions?

Buy packaged software—prewritten
software available for purchase

Write own custom software—software
developed at user’s request

Outsource—have outside source
develop software

Horizontal market
software—meets
needs of many
companies

Vertical market
software—designed
for particular industry
Logical Design Phase
Logical design –
◦ the translation of business user requirements into a system
model that depicts only the business requirements and not
any possible technical design or implementation of those
requirements. Common synonyms include conceptual
design and essential design.

System model –
◦ a picture of a system that represents reality or a desired
reality. System models facilitate improved communication
between system users, system analysts, system designers,
and system builders.

Analysis paralysis –
◦ a satirical term coined to describe a common project
condition in which excessive system modeling dramatically
slows progress toward implementation of the intended
system solution.
Physical Design & Integration
Phase
Physical design –
◦ the translation of business user requirements into a system
model that depicts a technical implementation of the users’
business requirements. Common synonyms include technical
design or implementation model.

Two extreme philosophies of physical design


Design by specification –
◦ physical system models and detailed specification are
produced as a series of written (or computer-generated)
blueprints for construction.



Design by prototyping –
◦ Incomplete but functioning applications or subsystems (called
prototypes) are constructed and refined based on feedback
from users and other designers.

339
Construction and Testing Phase


Construct and test system components
◦ Software
 Purchased
 Custom-built

◦
◦
◦
◦

Databases
User and System Interfaces
Hardware
Networks

340
Installation and Delivery Phase
Deliver the system into operation
(production)
 Deliver User training
 Deliver completed documentation
 Convert existing data


341
What is the support phase?


Provides ongoing
assistance after
system is
implemented



The ongoing
technical support
for users of a
system, as well as
the maintenance
required to deal
with any errors,
omissions, or new
requirements that

Conduct post-implementation
system review—meeting to find
out if information system is
performing according to
expectations

Identify errors

Identify enhancements

Monitor system performance
System Development Documentation, Repository, and Presentations

343
Challenges in the Development
Phases


Difficulty of accommodating change



One phase has to be complete before moving onto the next phase



Inflexible partitioning of the project into distinct stages makes it difficult to respond

to changing customer requirements.


Only appropriate when the requirements are well-understood and changes will be
fairly limited during the design process.



Few business systems have stable requirements.



Mostly used for large systems engineering projects where a system is developed
at several sites.



Not targeting all goals of Model-Driven Engineering



Using model transformations which are not fully executable



Not testing the model



Insufficient tooling
44
Software Industry Challenges

Costs
Up

Revenues
Down

Intervals
Shrinking
Market
Expectations
Up
Complexity
Up
Stockholders : ROI
Customers: Value
Users : Functionality & Quality

Need solutions that are
flexible, expansible, survivable,
sustainable, affordable and secure
2/21/2014

Seton Hall University
Legal challenges


Intellectual property rights—general
◦ Application and tools
 Can you reuse your component?
 Can you use it in a competitor’s application?

◦ Proprietary confidential information
 Library source code, proprietary tools, data, …

◦ Test suites and case studies
 Performance of partner applications or process

◦ Overlapping alliances and conflicts
Legal Challenges


Intellectual property rights
◦ Right to publish and disseminate
 Revealing experimental results

◦ Indirect intellectual property
 Insights developed in
collaborative process
 Process and practices


Whose law governs what?
Opportunities?



















Faster
More cost-effective
Leads to increased quality
less error-prone
leads to meaningful validation
results in software being less sensitive to changes in personnel
empowers domain experts
lets advanced programmers focus on the hard stuff
bridges the gap between business and IT
in software being less sensitive to changes in business
requirements
results in software being less sensitive to changes in technology
really enforces architecture
captures domain knowledge
provides up-to-date documentation
enables to focus on business problems instead of technology
provides you the ability to see your system at various levels
Our Learning's..
Development and maintenance processes our
software portfolio
 Establish good software development practices
 Capture/rescue important legacy software
 Improve the quality of our software base:


◦
◦
◦
◦
◦
◦

language conformance.
portability (over many platforms and architectures)
design and structure
testing
maintenance
improve software quality

Where possible use tools to automate, to make
the process easier and more measurable
 Ensure our developers adopt some good
practices and develop their own process of
improvement!


49
What do we learn?










Much of Best Practice is common sense – however
is it formalised common sense
The essence of Best Practice is in definition and
documentation
Software development should be managed like any
project
The Best Practice outlined is a framework in which
to work
The process steps have not been defined – these
are the remit of the project to defined, implement
and audit
There are some tools that can aid a process step
There is no magic bullet – software and
development process improvement is a long term
activity
50
Interact – with unknown


Play
Job portal
Candidate Registration
 Upload CV
 Upload documents
 Search CV

Questions ?

WhiteCode
www.whitecode.co.in
info@whitecode.co.in

Contenu connexe

Tendances

Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity ModelUzair Akram
 
Shift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityShift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityPooja Wandile
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | EdurekaEdureka!
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Paulo Gandra de Sousa
 
What is Shift Left Testing.pdf
What is Shift Left Testing.pdfWhat is Shift Left Testing.pdf
What is Shift Left Testing.pdfTestbytes
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryRahul Tilloo
 
Code Quality Lightning Talk
Code Quality Lightning TalkCode Quality Lightning Talk
Code Quality Lightning TalkJonathan Gregory
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
Introduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeIntroduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeJosef Scherer
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 

Tendances (20)

Capability Maturity Model
Capability Maturity ModelCapability Maturity Model
Capability Maturity Model
 
Shift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To QualityShift Left Testing: A New Paradigm Shift To Quality
Shift Left Testing: A New Paradigm Shift To Quality
 
What is Regression Testing? | Edureka
What is Regression Testing? | EdurekaWhat is Regression Testing? | Edureka
What is Regression Testing? | Edureka
 
Risk Management by Roger Pressman
Risk Management by Roger PressmanRisk Management by Roger Pressman
Risk Management by Roger Pressman
 
DevOps seminar ppt
DevOps seminar ppt DevOps seminar ppt
DevOps seminar ppt
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 
What is Shift Left Testing.pdf
What is Shift Left Testing.pdfWhat is Shift Left Testing.pdf
What is Shift Left Testing.pdf
 
The Thinking Tester, Evolved
The Thinking Tester, EvolvedThe Thinking Tester, Evolved
The Thinking Tester, Evolved
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Code Quality Lightning Talk
Code Quality Lightning TalkCode Quality Lightning Talk
Code Quality Lightning Talk
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Introduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeIntroduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFe
 
Code coverage
Code coverageCode coverage
Code coverage
 
STLC
STLCSTLC
STLC
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 

Similaire à Software development o & c

Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises Moutasm Tamimi
 
Software quality system - Quality Engineering
Software quality system - Quality EngineeringSoftware quality system - Quality Engineering
Software quality system - Quality EngineeringYash Trivedi
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9Warui Maina
 
Executing the project - Final PPT.pptx
Executing the project - Final PPT.pptxExecuting the project - Final PPT.pptx
Executing the project - Final PPT.pptxAkshithKota
 
Software process and characters
Software process and characters Software process and characters
Software process and characters MdBARKATULLAH10
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environmentHimanshu
 
DEVELOPMENT PROCESS OF MIS
DEVELOPMENT PROCESS OF MISDEVELOPMENT PROCESS OF MIS
DEVELOPMENT PROCESS OF MISHiren Selani
 
Development process of mis
Development process of misDevelopment process of mis
Development process of misHiren Selani
 
IT 8076 Software Testing Unit1
IT 8076 Software Testing Unit1IT 8076 Software Testing Unit1
IT 8076 Software Testing Unit1Roselin Mary S
 
Rational Unified Process(Rup)
Rational Unified Process(Rup)Rational Unified Process(Rup)
Rational Unified Process(Rup)pawanonline83
 
Models of quality assessment
Models of quality assessmentModels of quality assessment
Models of quality assessmentAsila AL-harthi
 
CMMi level 3 presentation
CMMi level 3 presentationCMMi level 3 presentation
CMMi level 3 presentationadinmani
 
Maturity Models - Open Compliance Summit 2023
Maturity Models - Open Compliance Summit 2023Maturity Models - Open Compliance Summit 2023
Maturity Models - Open Compliance Summit 2023Shane Coughlan
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesmohammedderriche2
 

Similaire à Software development o & c (20)

Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises Critical Success Factors along ERP life-cycle in Small medium enterprises
Critical Success Factors along ERP life-cycle in Small medium enterprises
 
Chap03
Chap03Chap03
Chap03
 
Software quality system - Quality Engineering
Software quality system - Quality EngineeringSoftware quality system - Quality Engineering
Software quality system - Quality Engineering
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9
 
An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)
 
Presentation2
Presentation2Presentation2
Presentation2
 
Executing the project - Final PPT.pptx
Executing the project - Final PPT.pptxExecuting the project - Final PPT.pptx
Executing the project - Final PPT.pptx
 
Article18
Article18Article18
Article18
 
Software process and characters
Software process and characters Software process and characters
Software process and characters
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environment
 
Object oriented analysis and design unit- i
Object oriented analysis and design unit- iObject oriented analysis and design unit- i
Object oriented analysis and design unit- i
 
DEVELOPMENT PROCESS OF MIS
DEVELOPMENT PROCESS OF MISDEVELOPMENT PROCESS OF MIS
DEVELOPMENT PROCESS OF MIS
 
Development process of mis
Development process of misDevelopment process of mis
Development process of mis
 
IT 8076 Software Testing Unit1
IT 8076 Software Testing Unit1IT 8076 Software Testing Unit1
IT 8076 Software Testing Unit1
 
Lesson2.pptx
Lesson2.pptxLesson2.pptx
Lesson2.pptx
 
Rational Unified Process(Rup)
Rational Unified Process(Rup)Rational Unified Process(Rup)
Rational Unified Process(Rup)
 
Models of quality assessment
Models of quality assessmentModels of quality assessment
Models of quality assessment
 
CMMi level 3 presentation
CMMi level 3 presentationCMMi level 3 presentation
CMMi level 3 presentation
 
Maturity Models - Open Compliance Summit 2023
Maturity Models - Open Compliance Summit 2023Maturity Models - Open Compliance Summit 2023
Maturity Models - Open Compliance Summit 2023
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lectures
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Software development o & c

  • 1. Software Development Challenges & Opportunities “You’ve got to be very careful if you don’t know where you’re going, because you might not get there.” Yogi Berra
  • 2. Topics Covered in Presentation Software Lifecycle – At a glance Elements and Principles of Software Development. Software Development Activities Challenges with Software Development Problem solving Approach Model driven development strategy Risk vs Opportunity assessment Software Development Lifecycle Phases in development Problems with the approach Global and Legal Challenges Opportunities in working with specific approach.
  • 3. • About • Technology • Client Base • Services
  • 4. Project analysis  Application for buying and selling ◦ Mobile application ◦ Search Adv. ◦ Post adv.  Category  Country Analysis ?
  • 5. Software Life Cycle Software construction goes through a progression of states: Conception PreDevelopment Childhood Adulthood Development Retirement PostDevelopment 5
  • 6. Elements of Software Development           User Requirements Software Requirements: target systems, languages Architectural Design: target systems Detailed Software Design: language, structure, libraries Implementation: languages, quality, version control Unit Testing Integration Testing System Testing Deployment and Acceptance Testing Maintenance: regression testing, quality control, bug tracking, version control 6
  • 7. Principles of System Development  Get the system users involved.  Use a problem-solving approach.  Establish phases and activities.  Document through development.  Establish standards.  Manage the process and projects  Justify systems as capital investments.  Don’t be afraid to cancel or revise scope.  Divide and conquer.  Design systems for growth and change. 3-7
  • 8. Possible Identification of Software Development Activities What is the problem? What is the solution? Requirements Analysis System Design Problem Domain Program Implementation What are the mechanisms that best implement the solution? Implementation How is the solution constructed? Domain Testing Is the problem solved? Program Design Delivery Can the customer use the solution? Maintenance Are enhancements needed? 8
  • 9. Participants in Systems Development Who participates in the system development life cycle?
  • 10. Inherent Challenges with Software Development Requirements are complex  ◦ The client usually does not know all the functional requirements in advance Requirements may be changing  ◦ Technology enablers introduce new possibilities to deal with nonfunctional requirements Frequent changes are difficult to manage  ◦ Identifying milestones and cost estimation is difficult There is more than one software system  ◦ New system must often be backward compatible with existing system (―legacy system‖) ◦ Phased development: Need to distinguish between the system under development and already released systems 10
  • 11. Manage the Process and Projects Process management –  an ongoing activity that documents, manages, oversees the use of, and improves an organization’s chosen methodology (the ―process‖) for system development. Process management is concerned with phases, activities, deliverables, and quality standards should be consistently applied to all projects. Project management  is the process of scoping, planning, staffing, organizing, directing, and controlling a project to develop an information system at a minimum cost, within a specified time frame, and with acceptable quality. 311
  • 12. Don’t Be Afraid to Cancel or Revise Scope Creeping commitment – a strategy in which feasibility and risks are continuously reevaluated throughout a project. Project budgets and deadlines are adjusted accordingly. Risk management – the process of identifying, evaluating, and controlling what might go wrong in a project before it becomes a threat to the successful completion of the project or implementation of the information system. Risk management is drive by risk analysis or assessment. 312
  • 13. Where Do Systems Development Projects Come From?  Problem – ◦ an undesirable situation that prevents the organization from fully achieving its purpose, goals, and/or objectives.  Opportunity – ◦ a chance to improve the organization even in the absence of an identified problem.  Directive – ◦ a new requirement that is imposed by management, government, or some external influence. 313
  • 14. Where Do Systems Development Projects Come From?  Planned Projects ◦ An information systems strategy plan  has examined the business as a whole to identify those system development projects that will return the greatest strategic (long-term) value to the business ◦ A business process redesign  has thoroughly analyzed a series of business processes to eliminate redundancy and bureaucracy and to improve efficiency and value added. Not it is time to redesign the supporting information system for those redesigned business processes. 314
  • 15. Use a Problem-Solving Approach Classical Problem-solving approach 1. Study and understand the problem, its context, and its impact. 2. Define the requirements that must be meet by any solution. 3. Identify candidate solutions that fulfill the requirements, and select the ―best‖ solution. 4. Design and/or implement the chosen solution. 5. Observe and evaluate the solution’s impact, and refine the solution accordingly. 315
  • 16. The PIECES Problem-Solving Framework P the need to improve performance I the need to improve information (and data) E the need to improve economics, control costs, or increase profits C the need to improve control or security E the need to improve efficiency of people and processes S the need to improve service to customers, suppliers, partners, employees, etc.
  • 17. Model-Driven Development Strategy  Model-driven development – ◦ a system development strategy that emphasizes the drawing of system models to help visualize and analyze problems, define business requirements, and design information systems. ◦ Process modeling – a process-centered technique popularized by the structured analysis and design methodology that used models of business process requirements to derive effective software designs for a system. ◦ Data modeling – a data-centered technique used to model business data requirements and design database systems that fulfill those requirements. ◦ Object modeling – a technique that attempts to merge the data and process concerns into singular constructs called objects. Object models are diagrams that document a system in terms of its objects and their interactions. 317
  • 18. Logical vs. Physical Models Logical model – a pictorial representation that depicts what a system is or does. Physical model – a technical pictorial representation that depicts what a system is or does and how the system is implemented. 318
  • 19. Model-Driven Development Strategy Advantages Requirements often more thorough  Easier to analyze alternatives  Design specifications often more stable and flexible  Systems can be constructed more correctly the first time  Disadvantages  Time consuming  Models only as good as users' understanding of requirements  Reduces users' role because pictures are not software  Can be Inflexible 319
  • 21. Opportunity  Principle 1: ◦  Principle 2: ◦  Establish Phases and Activities Principle 4: ◦  Use a Problem-Solving Approach Principle 3: ◦  Get the Owners and Users Involved Justify Systems as Capital Investments Principle 5: ◦ Don’t Be Afraid to Cancel or Revise Scope
  • 22. The System Development Life Cycle What are guidelines for system development? Arrange tasks into phases (groups of activities) Involve users (anyone for whom system is being built) Develop clearly defined standards (procedures company expects employees to follow)
  • 23. What is a systems analyst? Responsible for designing and developing information system Liaison between users and IT professionals
  • 24. What is the project team? Formed to work on project from beginning to end Consists of users, systems analyst, and other IT professionals Project leader—one member of the team who manages and controls project budget and schedule
  • 25. The System Development Life Cycle What are some reasons to create or modify an information system? To correct problem in existing system To improve existing system Outside group may mandate change Competition can lead to change
  • 26. What is the system proposal? Assesses feasibility of each alternative solution Recommen ds the most feasible solution for the project Presented to steering committee, which decides how system will be developed Formal request for new or modified information system Also called project request
  • 28. What is the analysis phase? Conduct preliminary investigation, also called feasibility study Perform detailed analysis Read and understand the problem  Interview client to be clear about the problem  Develop a software specification:   Clear statement of problem  Basis of legal agreement  Agreed between analyst and client
  • 30. Questioning  Write a program which calculates and displays the average of a set of numbers  Questions...?
  • 31. Questioning • Write a program which calculates and displays the average of a set of numbers • Questions: – How many numbers in set? – What is maximum number? – Are numbers integers, or real? – What output device(s) to be used?
  • 35. Feasibility Study Operational feasibility Measure of how suitable system development will be to the company Four feasibility tests: Schedule feasibility Economic feasibility (also called cost/benefit feasibility) Technical feasibility
  • 36. What is the planning phase? Begins when steering committee receives project request Steering committee decision-making body for the company Function of committee: Review and approve project requests Prioritize project requests Allocate resources Form project development team for each approved project
  • 37. What are possible solutions? Buy packaged software—prewritten software available for purchase Write own custom software—software developed at user’s request Outsource—have outside source develop software Horizontal market software—meets needs of many companies Vertical market software—designed for particular industry
  • 38. Logical Design Phase Logical design – ◦ the translation of business user requirements into a system model that depicts only the business requirements and not any possible technical design or implementation of those requirements. Common synonyms include conceptual design and essential design. System model – ◦ a picture of a system that represents reality or a desired reality. System models facilitate improved communication between system users, system analysts, system designers, and system builders. Analysis paralysis – ◦ a satirical term coined to describe a common project condition in which excessive system modeling dramatically slows progress toward implementation of the intended system solution.
  • 39. Physical Design & Integration Phase Physical design – ◦ the translation of business user requirements into a system model that depicts a technical implementation of the users’ business requirements. Common synonyms include technical design or implementation model. Two extreme philosophies of physical design  Design by specification – ◦ physical system models and detailed specification are produced as a series of written (or computer-generated) blueprints for construction.  Design by prototyping – ◦ Incomplete but functioning applications or subsystems (called prototypes) are constructed and refined based on feedback from users and other designers. 339
  • 40. Construction and Testing Phase  Construct and test system components ◦ Software  Purchased  Custom-built ◦ ◦ ◦ ◦ Databases User and System Interfaces Hardware Networks 340
  • 41. Installation and Delivery Phase Deliver the system into operation (production)  Deliver User training  Deliver completed documentation  Convert existing data  341
  • 42. What is the support phase?  Provides ongoing assistance after system is implemented  The ongoing technical support for users of a system, as well as the maintenance required to deal with any errors, omissions, or new requirements that Conduct post-implementation system review—meeting to find out if information system is performing according to expectations Identify errors Identify enhancements Monitor system performance
  • 43. System Development Documentation, Repository, and Presentations 343
  • 44. Challenges in the Development Phases  Difficulty of accommodating change  One phase has to be complete before moving onto the next phase  Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.  Only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.  Few business systems have stable requirements.  Mostly used for large systems engineering projects where a system is developed at several sites.  Not targeting all goals of Model-Driven Engineering  Using model transformations which are not fully executable  Not testing the model  Insufficient tooling 44
  • 45. Software Industry Challenges Costs Up Revenues Down Intervals Shrinking Market Expectations Up Complexity Up Stockholders : ROI Customers: Value Users : Functionality & Quality Need solutions that are flexible, expansible, survivable, sustainable, affordable and secure 2/21/2014 Seton Hall University
  • 46. Legal challenges  Intellectual property rights—general ◦ Application and tools  Can you reuse your component?  Can you use it in a competitor’s application? ◦ Proprietary confidential information  Library source code, proprietary tools, data, … ◦ Test suites and case studies  Performance of partner applications or process ◦ Overlapping alliances and conflicts
  • 47. Legal Challenges  Intellectual property rights ◦ Right to publish and disseminate  Revealing experimental results ◦ Indirect intellectual property  Insights developed in collaborative process  Process and practices  Whose law governs what?
  • 48. Opportunities?                 Faster More cost-effective Leads to increased quality less error-prone leads to meaningful validation results in software being less sensitive to changes in personnel empowers domain experts lets advanced programmers focus on the hard stuff bridges the gap between business and IT in software being less sensitive to changes in business requirements results in software being less sensitive to changes in technology really enforces architecture captures domain knowledge provides up-to-date documentation enables to focus on business problems instead of technology provides you the ability to see your system at various levels
  • 49. Our Learning's.. Development and maintenance processes our software portfolio  Establish good software development practices  Capture/rescue important legacy software  Improve the quality of our software base:  ◦ ◦ ◦ ◦ ◦ ◦ language conformance. portability (over many platforms and architectures) design and structure testing maintenance improve software quality Where possible use tools to automate, to make the process easier and more measurable  Ensure our developers adopt some good practices and develop their own process of improvement!  49
  • 50. What do we learn?        Much of Best Practice is common sense – however is it formalised common sense The essence of Best Practice is in definition and documentation Software development should be managed like any project The Best Practice outlined is a framework in which to work The process steps have not been defined – these are the remit of the project to defined, implement and audit There are some tools that can aid a process step There is no magic bullet – software and development process improvement is a long term activity 50
  • 51. Interact – with unknown  Play
  • 52. Job portal Candidate Registration  Upload CV  Upload documents  Search CV 