Though, there are a handful of them proposed, we present the ones that have been widely accepted. They are the basic methodologies and the project manager is supposed to have a good knowledge of them by default.
As the name suggests, in this model, there is a flow from one phase to another, where, in each phase a desired outcome is achieved. Though it is rigid, it is simple to implement.
It allows for modularization and promises the delivery of the project on time. However, once started, there is no backtracking possible. This proves to be disadvantageous in situations, where a possible fault is detected during the testing stage.
This model is best suited for small, simple, and inexpensive projects. Most of the people nowadays prefer other alternatives to the waterfall model.
The Spiral Model
It is seen as an extension of the waterfall model. It is best suited for projects that are relatively complex and expensive. It introduces the concept of prototyping. The steps involved in this model are presented briefly:
- Upon the definition of the new system requirements, an initial design is created for the system. This is said to be the first prototype and usually provides an approximate picture of what the product might look like.
- The second prototype is evolved by evaluating the first prototype for its strengths and weaknesses, defining the requirements, planning, and designing the prototype, and finally, constructing and testing the same.
- It is subjected to evaluation as the first prototype, and this process is iterated until we arrive at a final refined version.
- The actual system is built upon this refined prototype.
The Rapid Application Development (RAD) Model
It adopts the concept of object oriented programming that facilitates software reuse. It aims at the rapid delivery of the product which is of a higher quality.
The steps involved include gathering requirements using focus groups, designing the prototypes and testing the same, reusing the component thus created, and having a maintenance team to periodically check the accuracy of the product. Java and C++ are the programming languages employed that help in the development of this model.
Dynamic Systems Development Model (DSDM)
This model is perceived as the evolution of the preceding Rapid Application Development model. It believes that, no software component can be flawless the first time it is built.
The principles of this include giving importance to the user requirement, making the user participate in the development process, on-time delivery of products, employing recursive development strategies to narrow the accuracy of the solution, testing the components independently and in cooperation, and maintaining a healthy relation with the stakeholders.
Adaptive Project Model
It believes in the philosophy that, the scope of the project is subjective to variations, and the client could capitalize on this by changing the project toward a direction, that provides him the maximum benefit upon examining the conditions in various iterations.
This approach promises a healthy client involvement, frequent incremental outcomes, and a continuous process of introspection and questioning.
There are numerous other methodologies, most of which are an extension of the methodologies explained earlier. As a project manager, a person has to be well informed about the various techniques involved, and possess a knowledge good enough to decide what methodology to adopt and where in the project.