SlideShare a Scribd company logo
1 of 30
Business Analysis
Training for Beginners
Session 02 - SDLC
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
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:
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
Page 5Classification: 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.
Page 6Classification: Restricted
Waterfall Approach
• Waterfall Model - linear framework type
• Incremental Model - combination of linear and iterative framework type
• Iterative Model- Repetitious framework type
Page 7Classification: Restricted
Waterfall Approach
• Waterfall Model:
Page 8Classification: 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.
Page 9Classification: 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.
Page 10Classification: Restricted
Incremental Approach
Page 11Classification: 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.
Page 12Classification: 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.
Page 13Classification: 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.
Page 14Classification: 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.
Page 15Classification: 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.
Page 16Classification: 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.
Page 17Classification: 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.
Page 18Classification: 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
Page 19Classification: 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.
Page 20Classification: 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
Page 21Classification: 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.
Page 22Classification: 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.
Page 23Classification: 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
Page 24Classification: 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
Page 25Classification: Restricted
Spiral Approach
Page 26Classification: 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
Page 27Classification: 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
Page 28Classification: 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
Page 29Classification: Restricted
Topics to be covered in next session
Rational Unified Process
Inception
Elaboration
Construction
Static structure of process
Worker
Activity
Artifact
Workflow
Agile Methodology
Scrum
XP
Page 30Classification: Restricted
Thank You!

More Related Content

What's hot

What's hot (14)

Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise Analysis
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation
 
IT Project Management - Aligning PMBOK Processes and SDLC
IT Project Management  - Aligning PMBOK Processes and SDLCIT Project Management  - Aligning PMBOK Processes and SDLC
IT Project Management - Aligning PMBOK Processes and SDLC
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC Methodologies
 
Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation
 
Requirements management by Dr Matthew Bell
Requirements management by Dr Matthew BellRequirements management by Dr Matthew Bell
Requirements management by Dr Matthew Bell
 
Challenges in deploying AX 2012: A recipe for success!
Challenges in deploying AX 2012: A recipe for success!Challenges in deploying AX 2012: A recipe for success!
Challenges in deploying AX 2012: A recipe for success!
 
Requirements Management
Requirements Management Requirements Management
Requirements Management
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 
Spm lecture-3
Spm lecture-3Spm lecture-3
Spm lecture-3
 
Spm lecture 1
Spm lecture 1Spm lecture 1
Spm lecture 1
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Rational unified process lecture-5
Rational unified process lecture-5Rational unified process lecture-5
Rational unified process lecture-5
 

Similar to Session 02 - Software Development Life Cycle (SDLC)

4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
loloka1
 

Similar to Session 02 - Software Development Life Cycle (SDLC) (20)

Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC Methodologies
 
SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training Course
 
SDLC - Part 2
SDLC - Part 2SDLC - Part 2
SDLC - Part 2
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Module-02.pptx
Module-02.pptxModule-02.pptx
Module-02.pptx
 
SDLC - Part 1
SDLC - Part 1SDLC - Part 1
SDLC - Part 1
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
Process models
Process modelsProcess models
Process models
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
null-1.pptx
null-1.pptxnull-1.pptx
null-1.pptx
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Development methodologies
Development methodologiesDevelopment methodologies
Development methodologies
 
System Development Life Cycle Models
System Development Life Cycle ModelsSystem Development Life Cycle Models
System Development Life Cycle Models
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.ppt
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Session 02 - Software Development Life Cycle (SDLC)

  • 1. Business Analysis Training for Beginners Session 02 - SDLC
  • 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
  • 5. Page 5Classification: 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.
  • 6. Page 6Classification: Restricted Waterfall Approach • Waterfall Model - linear framework type • Incremental Model - combination of linear and iterative framework type • Iterative Model- Repetitious framework type
  • 7. Page 7Classification: Restricted Waterfall Approach • Waterfall Model:
  • 8. Page 8Classification: 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.
  • 9. Page 9Classification: 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.
  • 11. Page 11Classification: 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.
  • 12. Page 12Classification: 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.
  • 13. Page 13Classification: 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.
  • 14. Page 14Classification: 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.
  • 15. Page 15Classification: 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.
  • 16. Page 16Classification: 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.
  • 17. Page 17Classification: 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.
  • 18. Page 18Classification: 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
  • 19. Page 19Classification: 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.
  • 20. Page 20Classification: 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
  • 21. Page 21Classification: 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.
  • 22. Page 22Classification: 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.
  • 23. Page 23Classification: 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
  • 24. Page 24Classification: 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
  • 26. Page 26Classification: 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
  • 27. Page 27Classification: 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
  • 28. Page 28Classification: 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
  • 29. Page 29Classification: Restricted Topics to be covered in next session Rational Unified Process Inception Elaboration Construction Static structure of process Worker Activity Artifact Workflow Agile Methodology Scrum XP