incremental development is a staging and scheduling strategy in which
TRANSCRIPT
![Page 1: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/1.jpg)
![Page 2: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/2.jpg)
Incremental development is a staging and scheduling strategy in which various parts of the system are developedat different times or 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 3: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/3.jpg)
![Page 4: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/4.jpg)
Incremental development
Validateincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Validatesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
![Page 5: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/5.jpg)
Incremental development advantages
• Customer value can be delivered with each increment so system functionality is available earlier.
• Early increments act as a prototype to help elicit requirements for later increments.
• Lower risk of overall project failure.• The highest priority system services tend to
receive the most testing.
![Page 6: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/6.jpg)
![Page 7: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/7.jpg)
![Page 8: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/8.jpg)
Spiral development
• Process is represented as a spiral rather than as a sequence of activities with backtracking.
• Each loop in the spiral represents a phase in the process.
• No fixed phases such as specification or design - loops in the spiral are chosen depending on what is required.
• Risks are explicitly assessed and resolved throughout the process.
![Page 9: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/9.jpg)
![Page 10: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/10.jpg)
![Page 11: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/11.jpg)
Rational Unified Process
![Page 12: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/12.jpg)
Agile Processes
• Dissatisfaction with the overheads involved in design methods led to the creation of agile methods. These methods:– Focus on the code rather than the design;– Are based on an iterative approach to software
development;– Are intended to deliver working software quickly and
evolve to meet changing requirements.• Agile methods are probably best suited to
small/medium-sized business systems12
![Page 13: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/13.jpg)
![Page 14: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/14.jpg)
14
![Page 15: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/15.jpg)
![Page 16: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/16.jpg)
Extreme programming
• Perhaps the best-known and most widely used agile method.
• Extreme Programming (XP) takes an ‘extreme’ approach to iterative development. – New versions may be built several times per day;– Increments are delivered to customers every 2
weeks;– All tests must be run for every build and the build
is only accepted if tests run successfully.
16
![Page 17: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/17.jpg)
![Page 18: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/18.jpg)
The XP release cycle
18
Select user stories for this
release
Break down stories to tasks
Plan release
Develop/integrate/test
software
Release software
Evaluate system
![Page 19: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/19.jpg)
19
![Page 20: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/20.jpg)
Extreme Programming Practices
Fine scale feedback
Pair programming
Planning game
Test driven development
Whole team
Continuous process
Continuous integration
Refactoring
Small releases
Shared understanding
Coding standards
Collective code ownership
Simple design
System metaphor
Programmer welfare
Sustainable pace
20
![Page 21: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/21.jpg)
![Page 22: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/22.jpg)
![Page 23: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/23.jpg)
![Page 24: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/24.jpg)
![Page 25: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/25.jpg)
The word increment fundamentally means add onto.
The word iterate fundamentally means re-do.
Sadly, iterative development has come to mean either incremental or iterative, indiscriminately
![Page 26: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/26.jpg)
Incremental development gives you opportunities to improve your development process.
Iterative development helps you improve your product quality.
![Page 27: Incremental Development is a Staging and Scheduling Strategy in Which](https://reader036.vdocuments.mx/reader036/viewer/2022070301/5467c63aaf79596e458b553a/html5/thumbnails/27.jpg)
(1) Development process(2) Feature set(3) Product quality
Use an incremental strategy to improve the first two.
Use an iterative strategy to improve the third.