Software Development Methodologies
These are the following project methods that had been considered for this project; Agile[1] , Waterfall[2] and Code and Fix Method[3]
Table 1, 2 and 3 depicts a comparison of these methodologies, the advantages, disadvantages with a discussion on the methodology chosen for this project.
Method | Advantages | Disadvantages |
Agile | - Closer collaboration between developer and client.
- It is highly transparent.
- Requirements can be changed at any point throughout the process, including at later development phases.
| - Difficult to assess.
- More difficult to understand in comparison to a linear methodology.
- Not enough emphasis on prior designing and Requirements quickly changing.
|
[pic 1]
[pic 2][pic 3][pic 4]
[pic 5]
[pic 6][pic 7]
[pic 8]
Method | Advantages | Disadvantages |
Waterfall | - Each phase of a products life goes through a series of sequences
- Easier to understand for new developers or people new to software development.
- Development process is better documented as there is more emphasis on Requirements and design documentation.
- Fixed time scale for each section of the project.
| - No program is produced until the end of the project.
- No room for error.
- Better for smaller projects
- Not suitable for ongoing/long projects
- Difficult when in testing stage as hard to modify or add extra features to the program.
|
[pic 9]
Method | Advantages | Disadvantages |
Code and Fix | - Can reach coding more efficiently.
- Coding is in constant development.
- New features can be added at any time.
- Can test the program anytime when developing
| - Has no Requirements or design plan whatsoever.
- No planned final product, thus resulting in the product having no ‘end’.
- No flexibility as not planned for any modifications
|
[pic 10]
[pic 11]
[pic 12]
Summary
The Agile Methodology has been chosen for this project. This methodology has been chosen due to it suiting the needs of the project, with regards to both the programming and the written report. The flexibility of the agile method allows Requirements to be modified or added at a later stage, thus room for errors can be fixed upon a later phase.