Recently I have come across a number of people grappling with the choice of methodologies used within their organization, and keen to debate the pros/cons of their existing methodologies.
Selecting methodologies is a tricky task, and if the organization has established procedures thinking through the adoption of new techniques and their impact on policy and process is not trivial.
When it comes to selecting an appropriate one, there are a few dozens of factors you should consider, management methodology carries its own strengths and weaknesses.
Project Principles and Methodologies
The following are the most frequently used management methodologies in the project management practice:
1 – Adaptive Project Framework
Agile software development methodology is for a project that needs extreme agility in requirements. The key features of agile are its short-termed delivery cycles (sprints), agile requirements, dynamic team culture, less restrictive project control and emphasis on real-time communication.
3 – Crystal Methods
In crystal method, the project processes are given a low priority. Instead of the processes, this method focuses more on team communication, team member skills, people and interaction. Crystal methods come under agile category.
4 – Dynamic Systems Development Model (DSDM)
This is the successor of Rapid Application Development (RAD) methodology. This is also a subset of agile software development methodology and boasts about the training and documents support this methodology has. This method emphasizes more on the active user involvement during the project life cycle.
5 – Extreme Programming (XP)
Lowering the cost of requirement changes is the main objective of extreme programming. XP emphasizes on fine scale feedback, continuous process, shared understanding and programmer welfare. In XP, there is no detailed requirements specification or software architecture built.
6 – Feature Driven Development (FDD)
This methodology is more focused on simple and well-defined processes, short iterative and feature driven delivery cycles. All the planning and execution in this project type take place based on the features.
7 – Information Technology Infrastructure Library (ITIL)
This methodology is a collection of best practices in project management. ITIL covers a broad aspect of project management which starts from the organizational management level.
8 – Joint Application Development (JAD)
Involving the client from the early stages with the project tasks is emphasized by this methodology. The project team and the client hold JAD sessions collaboratively in order to get the contribution from the client. These JAD sessions take place during the entire project life cycle.
9 – Lean Development (LD)
Lean development focuses on developing change-tolerance software. In this method, satisfying the customer comes as the highest priority. The team is motivated to provide the highest value for the money paid by the customer.
10 – PRINCE2
PRINCE2 takes a process-based approach to project management. This methodology is based on eight high-level processes.
11 – Rapid Application Development (RAD)
This methodology focuses on developing products faster with higher quality. When it comes to gathering requirements, it uses the workshop method. Prototyping is used for getting clear requirements and re-use the software components to accelerate the development timelines.
In this method, all types of internal communications are considered informal.
12 – Rational Unified Process (RUP)
RUP tries to capture all the positive aspects of modern software development methodologies and offer them in one package. This is one of the first project management methodologies that suggested an iterative approach to software development.
13 – Scrum
This is an agile methodology. The main goal of this methodology is to improve team productivity dramatically by removing every possible burden. Scrum projects are managed by a Scrum master.
14 – Spiral
Spiral methodology is the extended waterfall model with prototyping. This method is used instead of using the waterfall model for large projects.
15 – Systems Development Life Cycle (SDLC)
This is a conceptual model used in software development projects. In this method, there is a possibility of combining two or more project management methodologies for the best outcome. SDLC also heavily emphasizes on the use of documentation and has strict guidelines on it.
16 – Waterfall (Traditional)
This is the legacy model for software development projects. This methodology has been in practice for decades before the new methodologies were introduced. In this model, development lifecycle has fixed phases and linear timelines. This model is not capable of addressing the challenges in the modern software development domain.
Choosing the best methodologies
The first point to remember is that you don’t need to choose just one. LEAD for example is more a principle used in conjunction with other methods. TQM (total quality management) whilst not methodology itself is an approach to quality that you would weave into the framework of the organization.
To help you choose the best fit methodologies and principles here are some considerations to start with:
- If your project a major project involving multiple stakeholders across departments or organizations then you will need a project manager with PMBOK/PRINCE2 experience to run the project.
- Is the project a major systems implementation for a customer, and whilst PMBOK mostly applies, some of the principles of your integration plan are a duplication of contract terms, and in these cases a modified PMBOK is needed.
- Is your organization delivering standard applications using Microsoft SureStep and need the structure and process management of PMBOK, if so then use both.
- Does your organization implement a fixed set of products in its projects, and the strict use of PMBOK, preparing details plans at each phase, that seem to be a duplication of the plans from past projects, then you should convert PMBOK steps to procedures and check lists (Project Controls). You can create simple meeting check lists or use a Workflow or BPM product to encapsulate these into organizational procedures or email prompts to team members. This will give your projects a greater predictability of outcome and reduced risk.
- If the project is for the internal development of a product feature from your product road map that will be added to the core product offering, but because the teams are working multiple projects, work can stop/start and you will need to have designs produced in specifications so the team can pick up where they left off when returning to work on the project, so a modified Waterfall / Agile works in these cases.
- If the design of the product is evolving and there is need for short bursts design/build sprints to develop the end product, then a small team (2 or 3) using Agile methodologies will work best.
- If running a major business application development involving multiple teams and sub-projects (some of which may use Agile within that sub project) then Spiral would help to run the Umbrella project, with different techniques used in sub projects and tasks within the WBS.
- When developing software for resale, the developers and team members can tend to develop functions that they consider will be important, and loose touch with what the customer considers to be of value, in these case using LEAD principles in the projects is important to ensure the product is quick to market, provides sponsors with a ROI and is continuously improving.
The point being there are “horses for courses” and no reason why you cant use multiple methods within an organisation, what is important is making the choice, setting up the procedures and communicating it well.
More helpful explanations: