Delivery Of Increments
Incremental delivery of software means that software product is specified, designed, implemented, tested and deployed in a number of builds. Each build has a new portion of functionality. All builds together constitute the project scope.
Consider the example development steps in a sample software project. Project statement is:
System is an online database management tool where
end-users can find information about real estate
objects and post new ads.
This is a list of functional requirements in the SRS:
# | Requirement | Build | Status |
---|---|---|---|
R1 | End-user can initiate search by keyword, System shall display search result | #2 | accepted |
R2 | End-user can post a new ad, System shall validate information and include new ad into database | #2 | accepted |
R3 | End-user can scroll search result in paging mode, System shall display different pages with search result | #3 | accepted |
R4 | Administrator can list users and block any, System shall display user list and delete selected users | #3 | tested |
R4.1 | Administrator can sort list of users, System shall sort according to selected sorting criteria | #3 | implemented |
This is an example of the Schedule for the sample project:
# | Objective | Finish | Staff-hours |
---|---|---|---|
Project start | 28-Jan | ||
1 | Inception Phase | 8-Feb | 120 |
M | Budget Approval (LCO Milestone) | 8-Feb | |
2 | R1, R2 | 22-Feb | 180 |
3 | R3, R4, R4.1 | 4-Mar | 260 |
M | Product Readiness (IOC Milestone) | 18-Mar | |
4 | Transition Phase | 3-Apr | 140 |
M | Project finished (Release Milestone) | 3-Apr |
Imagine that the project is in Iteration #3 and right now the project team is performing user acceptance testing with you for build #3.
The example illustrates that each new Iteration gives you a new workable product, and serves as an extension to the previous build.