Development Methodologies Flashcards
Phases to create a solution for a problem in a computer system.
Software Development Life Cycle (SDLC)
Software development methodology
how the phases are sorted
Stages of SDLC
• Feasibility
• Requirements
• Analysis/Design
• Implementation
• Testing
• Deployment
• Evaluation
• Maintenance
Feasibility
Is the problem solvable?
Deployment
Installing into target environment
Waterfall Methodology
• Cascading effect from one phase to another.
• Each stage is well defined start + end - identifiable deliveries.
Rapid Application Development (RAD)
• Producing successive prototypes until a final version.
• Iteration
• Following the initial approval of a feasible program, increasingly refined prototypes are made with reduced functionality.
• Design + code + test + evaluate with end user.
Spiral methodology
• Risk-driven
• Guide + other elements from methodologies can be adopted
• Process model generator
Agile Methodology
• Group of methodologies
• Focus on the idea that requirements shift during development.
• Iterative way
• Series of iteration called SPRINTS
Sprints
Short time-boxed periods when a team has focused goals to complete a set amount of work.
- no longer than one to four weeks
Extreme Programming
•agile framework
•encourages small iterative software releases
Benefits to the Waterfall methodology
• Simplicity makes it easy to manage
• Everyone on the project is very clear on their responsibilities at each stage
• Clear deliverables
• Easy to see if a project is running to schedule
Disadvantages to the Waterfall methodology
• Carries a lot of risk
• The user doesn’t get to see the product for the first time until the end
• Misunderstanding requirements can lead to a project that is not easy to fix
• Requirements must be very well understood, so it’s not suitable for complex projects
What types of projects is the Waterfall methodology suitable for?
• Ease of management can make it suitable for large-scale development projects, assuming they are well-understood and carry little risk
Benefits to Rapid Application Development (RAD)
• Requirements don’t need to be entirely clear from the start
• Focus groups involving the user can be used to gather requirements without the need for full formal requirements document upfront
• Continuous feedback from the client means the solution is likely to have excellent usability