Software Development methodologies
Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP XP Agile Lean Dual Vee Model TDD FDD
Waterfall Sequential design process Progress is seen as flowing steadily downwards (like a waterfall) through SDLC
Prototyping Creating prototypes of software applications i.e. incomplete versions of the software program being developed A prototype typically simulates only a few aspects of, and may be completely different from, the final product.
Incremental Build Model The model is designed, implemented and tested incrementally (a little more is added each time). Finished when satisfies all the requirements. Combines the elements of the waterfall model with the iterative philosophy of prototyping.
Iterative and Incremental Development Iterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development.
Incremental vs. Iterative
Scrum
Scrum Scrum is an iterative and incremental agile software development framework A flexible, holistic product development strategy Development team works as an atomic unit Opposing to sequential approach
User Story Template – 1 Example: As a [user role] I want to [goal] so I can [reason] As a [type of user] I want to [perform some task] so that I can [reach some goal] Example: As a registered user I want to log in so I can access subscriber-only content
User Story Template – 2 Who (user role) Why (reason) What (goal) gives clarity as to why a feature is useful can influence how a feature should function can give you ideas for other useful features that support the user's goals
Example: Front of Card
Go to Plan US 1.0 As an Administrator I want to be able to edit a member’s account so that I can alter their membership details as. US 2.0 As an Administrator I want to be able to delete a member’s account so that I can delete members who are no longer a part of the organization. US 3.0 As an Administrator I want to be able to email the members of the organization so I can send relevant information only to them.