Development Methodologies Flashcards
What does the traditional software development module assume?
A linear progression through ADITDEM
In what stages is the client involved in traditional software development?
Analysis, Testing, Evaluation
What does agile software development focus on?
Delivering working programs
What does extreme programming involve?
Frequent communication with client
Frequent Releases
Expectation of several changes
What is problem decomposition?
Process of simplifying a problem by working out:
- What information it needs
- Breaking it down into smaller subtasks
How is agile an iterative progress?
Changes are made to prototypes in light of comments on problems spotted in previous versions
State some advantages of iterative prototyping
- Client is involved throughout the development process
- Easier to change parts of code, if problems spotted earlier
- Some prototypes may evolve to be part of the working system
Give some examples of modern development methodologies
Spiral Development
Release early, release often
Model driven software development
Cowboy Coding
Describe the spiral development methodology
Attempts to combine the best aspects of the waterfall model and iterative prototyping
Creates a series of prototypes developed using waterfall model
State a disadvantage of release early, release often
Difficulties of controlling the existence of older versions of software
State an advantage of release early, release often
Users have big influence on the final project
Describe release early, release often methodology
Lightweight end of spectrum
Early and frequent releases
Gather frequent feedback
What is an advantage of agile/light weight methodologies?
More flexible and responsive to changes in circumstances
Define a prototype
A working model of the project designed for evaluation