Please enable JavaScript.
Coggle requires JavaScript to display documents.
Development Methodologies - Coggle Diagram
Development Methodologies
Iterative
"Waterfall model"
Sequence:
Analysis
Design
Implementation
Testing
Documentation
Evaluation
Client
The client is heavily involved in the inititial analysis stage and again at the end of development
The client has little or no involvement during the design, implementation and early testing phase
Teams
Teams of analysts, programmers, testers and documenters work independently on each phase of development
Documentation
A detailed project specification is created during the analysis phase
Further documentation will be produced during design, implementation and testing phases
Measurement of Progress
Progress is measured against project milestones set out in the analysis phase
Predictive Methodology
Iterative development is a predictive methodology
The analysis phase is important in setting out milestones at the start of the project
Can be difficult to change the project direction without returning to analysis phase
Better suited to projects which need to strictly match the specification set out during analysis
Testing
Testing is carried out once the implementation phase is complete
Agile
Client
The client has regular involvement throughout the project
Client feedback during the project is important in shaping the final product
Agile development teams build prototypes or software components in small increments known as sprints. Agile development focuses on delivering software as quickly as possible
Documentation
Documentation is kept to a minimum of relevant information
Restricted to implemented features and changes made
Could be internal commentary or a shared wiki
Teams
Teams communicate and collaborate rather than work in isolation
Each team will include different specialists including analysts, developers and testers
Measurement of Progress
Projects are broken down into short development bursts known as sprints
Progress can be measured by the work completed in each sprint
Progress is also measured by the time it takes to produce prototypes or working components of the software
Adaptive Methodology
Agile development is an adaptive methodology
Agile methodologies are flexible allowing for change as the project requires it
Can be more difficult to predict the longer term goals of the of the project, and the final product may not look anything like the initial concept
Better suited to exploratory or innovative projects
Testing
There is no recognised testing phase, as testing is carried out in conjunction
Comparison
Client
Regularly involved and consulted throughout project
Involved during analysis and end of project only
Teams
Independent specialist teams work in isolation on each of the project
Teams consisting of a range of specialists collaborate and communicate
Documentation
Comprehensive documentation produced throughout the project
Concise documentation kept to a minimum
Measurement of Progress
Progress measured against milestones set out during analysis
Progress measured by work completed in each sprint, or by time taken to produce prototypes or working components
Predictive vs Adaptive
Predictive methodology - the analysis phase used to predict the development pathway
Adaptive methodology - allows for ongoing changes to be made as the project requires
Testing
Ongoing testing - carried out during each development sprint
Carried out once the implementation phase is complete