Waterfall with Prototyping
Prototyping to analysis and design phases
- Preview and validation of User Interface by customer.
- Preview and validation of complex workflows by customer.
- Technical risks mitigation etc. Feasibility.
Biggest Risks
- Correctness and completeness of earlier phases is a prerequisite of each phase.
- Risks related to complex functionalities and large size of projects.
- Might not handle all scenarios.
Evolutionary Prototyping Methodology.
- Here the system concept evolves during the project
- Develop a prototype
- Show it to customer. Get their feedback.
- Refine the prototype. Repeat till prototype is “good”.
- Complete any pending work and release the product.
- Appropriate when
- Rapidly changing requirements
- Customer can not commit to a set of requirements. Poor understanding of the application area (by customer or developer).
- Poor understanding of technology, architecture or algorithms.
- Problems
- Cant predict efforts, size, costs.
- Demands on good engineering, to ensure sustaining every iteration.
Rapid Application Development
- Modified waterfall model that emphasizes an extremely short development life cycle
- Methodology driven by tools which achieve rapid development
- Joint Requirements Planning
- Joint Application Development
- Construction
- Cutover
- Costs of rework is very less. So, design and testing phases and shortened
- Methodology driven by tools which achieve rapid development
- Appropriate if the requirements can be realized using the tools
- CASE tools (such as VB, Borland Delphi, PowerBuilder etc.)
Product Lifecycle Models
- Modification of iterative model
- Multiple cycles of development, adding newer features in every cycle.
- Requirements driven by the market, not by specific customers.
- Influenced by competing products.
- Present customer base as well as targeted customers.
- Each cycle builds on earlier cycle’s work products
- Stable architecture and standard development practices.
- Requirements gathering and analysis is more tedious.
- HLD and architecture inherited from earlier cycles.
- DD & CUT combined to one stage.
- System testing is elaborate.
- Customer testing is more tedious: alpha and beta.
- Biggest Risks and Challenges
- Conflicting requirements from diverse customer base.
- Need to rapidly change to adapt to changing market pressures.