In this Business Analysis Training session you will learn, SDLC (Software Development Life Cycle). Topics covered in this session are:
• SDLC (Software Development Life Cycle)
• Types of SDLC Methodologies
• Waterfall Approach
• Incremental Approach
• Iterative Approach
• Difference between Incremental and Iterative
• Prototype Approach
• Spiral Approach
To learn more about this course, visit this link: https://www.mindsmapped.com/courses/business-analysis/business-analysis-fundamentals-with-hands-on-training/
2. Page 2Classification: Restricted
Agenda
• SDLC (Software Development Life Cycle)
• Types of SDLC Methodologies
• Waterfall Approach
• Incremental Approach
• Iterative Approach
• Difference between Incremental and Iterative
• Prototype Approach
• Spiral Approach
3. Page 3Classification: Restricted
Software Development Life Cycle
• The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process.
•SDLC is a structure followed by a
development team within the
software organization.
•It consists of a detailed plan
describing how to develop,
maintain and replace specific
software.
•SDLC consists of the following
activities:
4. Page 4Classification: Restricted
Types of SDLC Methodologies
• Waterfall Model - linear framework type
• Incremental Model - combination of linear and iterative framework type
• Iterative Model- Repetitious framework type
6. Page 6Classification: Restricted
Waterfall Approach
• The waterfall model is documentation-intensive, with earlier phases
documenting what must be done and subsequent phases adding greater
detail and defining how it should be done.
• The output from one phase serves as the input to the next phase, with the
project flowing from one step to the next in a waterfall fashion.
• An important consideration for the Waterfall model is that fixes or
modifications are often put off until the maintenance phase.
• This can be very costly, as the cost to correct a problem gets higher with
each successive phase.
7. Page 7Classification: Restricted
Waterfall Approach - Advantages
• System is well documented.
• Phases correspond with project management phases.
• Cost and schedule estimates may be lower and more accurate.
• Details can be addressed with more engineering effort if software is large or
complex.
8. Page 8Classification: Restricted
Waterfall Approach - Disadvantages
• All risks must be dealt with in a single software development effort.
• Because the model is sequential, there is only local feedback at the
transition between phases.
• A working product is not available until late in the project.
• Progress and success are not observable until the later stages. If a mistake
or deficiency exists in the documentation of earlier phases, it may not be
discovered until the product is delivered.
• Corrections must often wait for the maintenance phase.
Application
• The Waterfall model can be successfully used when requirements are well
understood in the beginning and are not expected to change or evolve over
the life of the project. Project risks should be relatively low.
10. Page 10Classification: Restricted
Incremental Approach
• The incremental model is essentially a series of waterfall cycles.
• The requirements are known at the beginning of the project and are
divided into groups for incremental development.
• A core set of functions is identified in the first cycle and is built and
deployed as the first release.
• The software development cycle is repeated, with each release adding
more functionality until all requirements are met.
• Each development cycle acts as the maintenance phase for the previous
software release.
• While new requirements that are discovered during the development of a
given cycle can be implemented in subsequent cycles, this model assumes
that most requirements are known up front.
• A modification to the incremental model allows development cycles to
overlap. That is, a subsequent cycle may begin before the previous cycle is
complete.
11. Page 11Classification: Restricted
Incremental Approach - Advantages
• Provides some feedback, allowing later development cycles to learn from
previous cycles.
• Allows some requirements modification and may allow the addition of new
requirements.
• It is more responsive to user needs than the waterfall model.
• A usable product is available with the first release, and each cycle results in
greater functionality.
• The project can be stopped any time after the first cycle and leave a
working product.
• Risk is spread out over multiple cycles.
• This method can usually be performed with fewer people than the waterfall
model.
• Project management may be easier for smaller, incremental projects.
• Testing may be easier on smaller portions of the system.
12. Page 12Classification: Restricted
Incremental Approach - Disadvantages
• The majority of requirements must be known in the beginning.
• Formal reviews may be more difficult to implement on incremental releases
than on a complete system.
• Because development is spread out over multiple iterations, interfaces
between modules must be well-defined in the beginning.
• Cost and schedule overruns may result in an unfinished system.
• Operations are impacted as each new release is deployed.
• Users are required to learn how to use a new system with each
deployment.
13. Page 13Classification: Restricted
Incremental Approach
• The incremental model is good for projects where requirements are
known at the beginning, but which need functionality early in the project
or which can benefit from the feedback of earlier cycles.
• Because each cycle produces a working system, it may also be
advantageous for projects whose continued funding is not assured and
may be cut at any time.
• It is best used on low to medium-risk programs.
• If the risks are too high to build a successful system using a single waterfall
cycle, spreading the development out over multiple cycles may lower the
risks to a more manageable level.
14. Page 14Classification: Restricted
Iterative Approach
• Iterative development is best defined in terms of its processes that allow
for dynamic development rather than any single defined method or
approach.
15. Page 15Classification: Restricted
Iterative Approach
Definition
Iterative approach or development is a process that grows a system feature
by feature during self-contained cycles of analysis, design, development and
testing that end in the production of a stable, fully integrated and tested,
partially complete system that incorporates all of the features of all previous
iterations.
For example, a project can be divided into 12 one- to four-week iterations.
• The system is tested at the end of each iteration, and the test feedback is
immediately incorporated at the end of each test cycle.
• The time required for successive iterations can be reduced based on the
experience gained from past iterations.
• The system grows by adding new functions during the development
portion of each iteration.
16. Page 16Classification: Restricted
Iterative Approach
• Iteration comes from word Iterative means repetitious.
• Iteration means the act of repeating a process usually with the aim of
approaching a desired goal or target or result. Each repetition of the
process is also called an "iteration," and the results of one iteration are
used as the starting point for the next iteration.
• In software development, An iteration is made up of a series of activities
that include conducting needs analysis, developing parts of the system,
then deploying and testing them. In the end, one or more functionalities
are ready for integration into the final product.
17. Page 17Classification: Restricted
Iterative Approach - Principles
Principles of Iterative Development
• Time has priority over functionality
• Get the most bang for the buck
• Power to the customer
• Empowered teams – Decision speed & competency
• Adaptability
• Short life cycles
• Fast feedback
You can’t stop the
clock!
The customer is always
right
18. Page 18Classification: Restricted
Iterative Approach - Advantages
• More adaptable to changes.
• Allows for early detection of risks associated with a given project
• QA can be performed at the end of each iteration.
• Project managers are in a better position to assess the impact of changes
on the delivery dates.
• Early visible progress.
• A continuous improvement methodology.
• Corrective actions can be taken at the end of each iteration.
19. Page 19Classification: Restricted
Iterative Approach - Advantages
• It is difficult to freeze requirements, and they may continue to change in
later iterations because of increasing customer demands. As a result,
more iterations may be added to the project, leading to project delays
and cost overruns.
• The project requires a very efficient change control mechanism to
manage changes made to the system during each iteration.
• More time spent in review and analysis
• A lot of steps that need to be followed in this model
• Delay in one phase can have detrimental effect on the software as a
whole
20. Page 20Classification: Restricted
Difference between Incremental and Iterative
Incremental development is a staging and scheduling strategy in which
various parts of the system are developed at different rates, and integrated
as they are completed.
Iterative development is a rework scheduling strategy in which time is set
aside to revise and improve parts of the system.
21. Page 21Classification: Restricted
Prototype Approach
What is Prototyping?
• Software prototyping, can be defined as incomplete versions of the
software program being developed.
• A prototype typically simulates only a few aspects of the features of the
eventual program, and may be completely different from the eventual
implementation.
Purpose of Prototyping?
• To allow users of the software to evaluate developers' proposals for the
design of the eventual product by actually trying them out, rather than
having to interpret and evaluate the design based on descriptions.
• The software designer and implementer can obtain feedback from the
users early in the project. They may be able to refine them early in the
development of the software.
22. Page 22Classification: Restricted
Prototyping
Throwaway prototyping:
• Creation of a model that will eventually be discarded rather than becoming
part of the final delivered software.
• After preliminary requirements gathering is accomplished, a simple
working model of the system is constructed to visually show the users
what their requirements may look like when they are implemented into a
finished system.
• Making changes early in the development lifecycle is extremely cost
effective since there is nothing at that point to redo.
• If a project is changed after a considerable work has been done then small
changes could require large efforts to implement since software systems
have many dependencies
• Another strength of Throwaway Prototyping is its ability to construct
interfaces that the users can test. The user interface is what the user sees
as the system, and by seeing it in front of them, it is much easier to grasp
how the system will work
23. Page 23Classification: Restricted
Type of Prototyping
One method of creating a Throwaway Prototype is Paper Prototyping. The
prototype is implemented using paper and pencil, and thus mimics the
function of the actual product, but does not look at all like it
Another method to easily build high fidelity Throwaway Prototypes is to use a
GUI Builder and create a click dummy, a prototype that looks like the goal
system, but does not provide any functionality
25. Page 25Classification: Restricted
Spiral Approach
This model of development combines the features of the prototyping model
and the waterfall model
The spiral methodology reflects the relationship of tasks with rapid
prototyping, increased parallelism, and concurrency in design and build
activities. The spiral method should still be planned methodically, with tasks
and deliverables identified for each step in the spiral
26. Page 26Classification: Restricted
Spiral Approach
A preliminary design is created for the new system. This phase is the most
important part of "Spiral Model". In this phase all possible (and available)
alternatives, which can help in developing a cost effective project are analyzed
and strategies, are decided to use them. This phase has been added specially
in order to identify and resolve all the possible risks in the project
development. If risks indicate any kind of uncertainty in requirements,
prototyping may be used to proceed with the available data and find out
possible solution in order to deal with the potential changes in the
requirements
A first prototype of the new system is constructed from the preliminary
design. This is usually a scaled-down system, and represents an approximation
of the characteristics of the final product
A second prototype is evolved by a fourfold procedure:
• evaluating the first prototype in terms of its strengths, weaknesses,
and risks;
• defining the requirements of the second prototype;
• planning and designing the second prototype;
• constructing and testing the second prototype
27. Page 27Classification: Restricted
Spiral Approach Steps
At the project sponsor's option, the entire project can be aborted if the risk is
deemed too great. Risk factors might involve development cost overruns,
operating-cost miscalculation, or any other factor that could result in a less-
than-satisfactory final product
The existing prototype is evaluated in the same manner as was the previous
prototype, and, if necessary, another prototype is developed from it
according to the fourfold procedure outlined above
The preceding steps are iterated until the customer is satisfied that the
refined prototype represents the final product desired
The final system is constructed, based on the refined prototype
The final system is thoroughly evaluated and tested. Routine maintenance is
carried out on a continuing basis to prevent large-scale failures and to
minimize downtime
28. Page 28Classification: Restricted
Definition and Overview of RUP
What is RUP?
• Process Used for UML
• Used for designation
• Assigns responsibility
Overview of RUP
• Two-Dimensional:
• Dynamic
• Cycles
• Phases
• Iterations
• Milestones
• Static
• Activities
• Artifacts
• Workers
• Workflows
29. Page 29Classification: Restricted
Inception Phase
What Happens at this Phase?
• Creation of:
• Business Case
• Preliminary Use Cases
• Vision Document
• Possible Prototypes of the
Product/Software
Outcomes of Inception Phase
• Agreement between
stakeholders on scope and
cost estimates
• Understanding of requirements
• Initial exposure to estimates,
priorities, risks and the
overall development process
30. Page 30Classification: Restricted
Elaboration Phase
What Happens at this Phase?
Analysis of:
• Domain
• Requirements
• Project Plan
• Project Stability & Flexibility
Outcomes of the Elaboration
Phase
•More complete Use-Case
Model with detailed
descriptions
• Description of the Software
Architecture
• Development plan for overall
project and any projected
iterations/evaluations
31. Page 31Classification: Restricted
Construction Phase
What Happens at this Phase?
• Development of:
• The Final Product
• Test Cases to test the final
product
• Management Tools
• Resource Management
• Quality Management
• Schedule Management
Outcomes of the Construction Phase
• A fully functional product or
software
• User Manuals
• Description of a release or
current product
32. Page 32Classification: Restricted
Transition Phase and Iterations
What Happens in the Transition
Phase?
Release of the Final Product
• Provide:
• Product
• Post-Release
debugging/troubleshooting
• End-User Support & Training
Outcome of the Transition
Phase
• Rollout of final product
• User feedback may be
available
• Comparison of cost & time
forecasts to actual costs &
time
Outcome of Iterations
• Risk Mitigation
• Better Change Management
• Continuous Learning
• Better Overall Quality
33. Page 33Classification: Restricted
Static Structure of the Process
A process describes who is doing what, how, and when.
• Workers, The ‘who’
• Activities, The ‘how’
• Artifacts, The ‘what’
• Workflows, The ‘when’
35. Page 35Classification: Restricted
Activity
Activity of a worker is a unit of work that an individual will perform or given to
perform in a given time frame.
An activity should be usable as an element of planning and progress; if it is too
small, it will be neglected, and if it is too large, progress would have to be
expressed in terms of an activity’s parts.
Example of activities:
Plan an iteration, for the Worker: Project Manager
Find use cases and actors, for the Worker: System Analyst
Review the design, for the Worker: Design Reviewer
Execute performance test, for the Worker: Performance Tester
36. Page 36Classification: Restricted
Artifacts
An artifact is a piece of information that is
Produced
Modified
or used by a process
Artifacts are used as input by workers to perform an activity
Parameters of activities
Artifacts may take various shapes or forms:
• A model, such as the Use-Case Model or the Design Model
• A model element, i.e. an element within a model, such as a class, a use
case or a subsystem
• A document, such as Business Case or Software Architecture Document
• Source code
• Executables
37. Page 37Classification: Restricted
Workflow
A workflow is a sequence of activities that produces a result of observable
value. A workflow can be expressed as a sequence diagram, a collaboration
diagram, or an activity diagram.
39. Page 39Classification: Restricted
Core Workflow
Business Modeling:
Software engineering and business engineering
community do not communicate properly with
each other as a result: The output from the
business engineers which is the input for the
software development effort will not being used
properly.
RUP addressed this issue and by providing a
common language and process for both
communities, as well as showing how to create and
maintain direct traceability between business and
software models.
In Business Modeling documentation of business
processes is done by using business use cases.
Which assures a common understanding among all
stakeholders of what business process needs to be
supported in the organization.
Requirements:
The Goal of requirements
workflow:
What the system should do?
Allows the developers and
customer to agree on the
description
Identify the Actors
How to achieve the goal:
Elicit
Organize
Document required
functionality
Document the constraints
Track and document
tradeoffs and decision
42. Page 42Classification: Restricted
XP
Concept :
Coding
Testing
Listening
Designing
• Light-weight: discipline without bureaucracy
• Under stress, people do what is easiest
• All XP practices have short-term benefits as well as long-term benefits
• Development as a Conversation
• The code is the documentation
43. Page 43Classification: Restricted
What is Agile
Processes and techniques for incremental and iterative software
development
Agile Manifesto
– “We are uncovering better ways of developing software by doing it
and helping others do it. Through this work we have come to value”:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
52. Page 52Classification: Restricted
Scrum Ceremonies
1.SPRINT PLANNING
(Discuss top PBI scope>estimate)
2. Daily stand up meeting
(<15 minutes, what I did till this meeting, what ill do till next meeting ,
what's blocking me)
3. Sprint review (last day)
(To demonstrate what is ready to ship to po, no ppt, demo on prodn
env
4. Sprint retrospective –
what went right, what went wrong
54. Page 54Classification: Restricted
Product Backlog
PBIs are Uniquely ranked items, progressive
user stories are short plain language of description of functionality in
terms of customer benefit/need
Stories (=requirement) priority estima
te
As a user I want to be able to easily install
the application so that I can access my
bank account on my mobile
1 5
As a user I want to be able to view my bank
transaction history so that I can track my
transactions
2 3
56. Page 56Classification: Restricted
Agile Methods – Scrum (3)
Commitment
– Team takes responsibility to complete the Sprint. To avoid things that
will stand in its way
Focus
– Team’s focus is maintained. Distractions, interruptions are fielded
Openness
– Overall and individual status and commitments kept open.
Respect
– Team responsibility rather than scapegoat.
Courage
– Management and team have the courage to take responsibility to do
what is necessary
57. Page 57Classification: Restricted
Topics to be covered in next session
• Enterprise analysis
• SWOT Analysis
• Feasibility Evaluation
• Problem Statement & Goal Statement
• Business Case
• Project Scope Statement & Vision Document
• AS IS (current state) and TO BE (future state)
• Root Cause Analysis – Fish Bone Diagram