Software Development Flashcards
What is a Waterfall lifecycle?
Derives its name from the cascading effect from one phase to the other, with each phase having clear deliverables and a start/end point. Allows you to move back to a previous stage and forwards shows developers have to reqork stuff because knowledge gained as development progresses.
What is Rapid application develpment (RAD)?
Involves producing sucessive prototypes until a final version is rpoduces. These are dsigned coded tested and evaluated qwith the end user.
What is the Spiral Model?
Risk driven development methodology. The decisions made on the software develppment are based on the risks identified in development.
What is the Agile methodology?
Refers to a group of methodologies that came about in the early 2000s. These methodologies focus on the idea that rwqueirements change during development, producting software in an iterative way.
Developed in a series of iterations called sprints, short time boxed periods when a team has focused gfoals to complete a scertain amount of work, with each sspring taking no longer than one to four weeks.
Name two benefits and risks of a Waterfall cycle
Benefits:
. Simplicity, easy to manage.
. Clear deliverables
. Easy to see if a project is on schedule
Risks:
. User doesnt get to see the project for the first time until near the end
. Misunderstanding requeiremnts can lead to difficult problems to fix.
Name two benefits and risks of rapid application development
Benefits:
. Requirements dont need to be entirely clear from the start
. Continuous feedback from the client
Risks:
. Regular contact with client must be maintained at all times
. Scales porly for large projects with large teams
Name two benefits and risks of the Spiral Methodology
Benefits:
. Risk management
. Very good for projects that contain lots of risk
Risks:
. Complex nature of risk analysis increases costs
. If risk analysis isnt done to good standard, entire project suffers
Name two benefits and risks of agile and extreme programming
Benefits:
. Emphasises programming, so quality of end code is likely to be high
. Principles promote collaboration leading to a productive team
Risks:
. Requires a team of programmers to be working in close collaboration
. Some tasks such as paired programming can end up being quite costly.