Projects are the means by which organizations, institutions, corporations, governments and individual achieve their aims realize the results they desire from their activities. Project managers apply methodologies at every phase of their projects, from initialization to implementation, to ensure project credibility and accomplishment of the intended results (McCormick, 2012). A methodology is a framework that outlines the preparation, design, execution and achievement of project objectives. In software development projects, there are several of these methodologies for use, and the adoption and application of each depend on the type of software being developed. This document shall focus on the agile and waterfall methodologies.
AGILE PROJECT MANAGEMENT METHODOLOGY
When using the agile approach in developing software, the pre-defined methodologies are tailored to fit the specific requirements of the product under construction. It combines iterative and additive models to enhance process adaptability and ensure client delectation. The agile methodology has several phases as illustrated in the diagram below.
Delegate your assignment to our experts and they will do the rest.
Figure 1 ; Source (Highsmith, 2009)
As demonstrated in the figure above, the agile approach is implemented in five core phases;
Envision – vision is created for the client and the development team. The essential roles are determined and assigned to the relevant people.
Speculate – software requirements are identified, and basic features are delimitated. The development team formulates a delivery plan and calculates the approximate cost of the project.
Explore – the project manager organizes the project team and formulates a way in which the team interacts and associates with clients and other stakeholders involved in the project (Highsmith, 2009). The designed program features are delivered at this phase.
Adapt – it includes assessing results and making the necessary corrections to the software. Assessment is carried out by the client and development team, and the results are factored back into the iterative process.
Close – the project is completed, and the project team their learnings and passes them along to the next project team
Strengths and Weaknesses of the Agile Methodology
Strengths | Weaknesses |
It advances teamwork and cross training | It is not appropriate for complex software development projects |
It facilitates the rapid development of software | The sustainability, extensibility and maintainability of projects undertaken using this approach is highly speculative |
Project resource requirements are minified | Conveyance of technology from one development team to another is difficult since documentation of the development process is not done adequately |
It allows concurrent development and delivery within the designed context | The approach depends heavily on client input so if they are not certain about the requirement, they can lead the developers in the wrong direction |
WATERFALL PROJECT MANAGEMENT METHODOLOGY
The waterfall model was the first software development methodology to be formulated. It applies a liner-sequential framework where one stage of the development process must be completed for developers to move on to the next level. There is no iteration or overlapping of the six phases that make up the waterfall model.
Figure 2 : Source (Bassil, 2012)
Requirements Analysis – the stakeholders, identify and analyze the business needs. The project manager suggests options that can be explored to meet those needs.
System Design – it outlines technical specifications, procedures, testing methods and success measurement systems.
Implementation – the development team executes the specifications and other parameters outlined in the design phase (Bassil, 2012). Activities at this stage include coding.
Testing – the quality and functionality of the resultant product is gauged against the requirements specified by the client and the success measurement systems
Deployment – the software product is installed and integrated into the customer’s systems or released into the market. User training also takes place at this point.
Maintenance – this includes conducting regular checks on the software and modifying and improving it whenever it is necessary.
Strengths and Weaknesses of the Waterfall Methodology
Strengths | Weaknesses |
It is easy to understand and apply | the deliverables are only realized late into the development process |
Manageability is easy due to the rigidness of the model | The model is not appropriate for complex and object-oriented projects |
Stages are clearly defined, processed and executed one at a time. This enhances the order of the project | It is almost impossible to measure progress within the stages |
Procedures and outcomes are properly documented | Adjusting the scope during the process can alter the project course drastically even leading to project termination |
References
Bassil, Y. (2012). A simulation model for the waterfall software development life cycle. ArXiv preprint arXiv: 1205.6904.
Highsmith, J. (2009). Agile project management: creating innovative products. Pearson Education.
McCormick, M. (2012). Waterfall vs. Agile Methodology. Retrieved February, 12, 2014.