Choosing the right project management methodology
The number of project management methodologies available today may seem overwhelming and it can be difficult to choose the right one. Unfortunately, there is no “one size fits all”.
Each approach has its own processes, techniques and best practices. Each approach also has its strengths and weaknesses.
What is certainly clear is that the current and growing trend is Agile. At New Verve Consulting, we are well-versed in Agile processes; however, we are also comfortable with more traditional and less adaptive approaches. We recognize that not all projects are the same and that different solutions are required for different situations.
Choosing the approach that best fits your project depends on a number of factors that include:
- Strategic goals
- Project cost
Achieving project success is complicated with many stakeholders and objectives to satisfy - delivering a successful project is certainly not just about time, cost and quality. It’s also about meeting stakeholder and strategic expectations. Maintaining tight control throughout the project is essential and choosing the right approach makes it easier to achieve success.
Being able to adapt quickly to evolving needs is essential for large complex projects. Adaptability is a key trait of Agile, enabling teams to change direction with minimal cost impact.
All Agile methodologies apply an incremental and iterative approach to software development. Through cooperation and collaboration along the way, continuous improvement comes for free. The end product gives real value to end-users and ultimately maximizes the business’ return on investment.
If your project is to be delivered in a fast moving and change-driven environment where creativity, trust and transparency are all equally important, then Agile is a great choice.
Dynamic Systems Development Method
In the real world, a single Agile approach does not always fit. The DSDM® Agile Project Framework provides a way to blend elements from different methodologies.
DSDM® is extremely useful in capturing the entire lifecycle of a project. Unlike other methodologies such as Scrum, it incorporates more than just software development and covers project initiation and feasibility phases.
In the traditional management approach, scope is fixed while time and cost are variable. With an adaptive approach such as DSDM®, scope is the only variable.
With the help of the following key practices, DSDM® projects always deliver a viable solution, on time and within budget:
- facilitated workshops
- modelling and iterative development
- MoSCoW (Must Have, Should Have, Could Have, Won’t Have This Time) prioritization
- timeboxing work into short focused delivery sprints
There are eight principles that underpin the DSDM® approach:
- Focus on the business need
- Deliver on time
- Never compromise quality
- Build incrementally from firm foundations
- Develop iteratively
- Communicate continuously and clearly
- Demonstrate control
The framework is scalable and works well with other Agile approaches such as Scrum. All of our project managers at New Verve Consulting are certified by APMG-International in partnership with the DSDM® Consortium as AgilePM® Practitioners.
Rational Unified Process (RUP)
Rational Unified Process (RUP) was developed by IBM as an iterative framework with configurable processes. It’s because of this flexibility that RUP can be as agile or non-agile as you wish to make it.
RUP has some well-defined approaches for building requirements, handling change and managing risk. It also emphasizes the importance of documentation. It’s a good fit for large, complex projects that have associated risk, but is unlikely to succeed if team members are all novices.
It incorporates six best practices for software engineering:
- Develop iteratively, with risk as the primary iteration driver
- Manage requirements
- Employ a component-based architecture
- Model software visually
- Continuously verify quality
- Control changes
Projects are defined in four phases: inception, elaboration, construction and transition (to production). Each phase has one key objective and one milestone at the end which denotes the objective being accomplished.
New Verve Consulting applied the RUP framework in the development of the MediaCell Backend Production System (MBPS) for IDM. Overall, it was deemed a good fit and a quality product was delivered on time and to budget.
Scrum is a powerful and transparent framework that enables teams to deliver products in short iterations known as Sprints. This facilitates rapid feedback, continuous improvement and cheap adaptation.
Lightweight and simple to understand, it has become one of the most popular Agile methodologies used today.
Scrum teams are creative, self-organizing and cross-functional. They incorporate three key roles: the Product Owner, responsible for maximizing the value of the product and managing the road-map (known as the Product Backlog); the Development Team, responsible for creating and delivering a production-ready product increment at the end of each Sprint; the Scrum Master, responsible for planning each iteration, facilitating and removing all impediments to the Development Team’s progress.
Scrum prescribes formal events to allow continuous inspection and adaptation. These events are collaborative and include sprint planning, reviews, retrospectives and demos. The development team also has a daily time-boxed meeting or Scrum to review progress towards the Sprint goal. As part of the daily Scrum, three key questions are asked of each team member:
- what did you do yesterday?
- what will you do today?
- are there any impediments in your way?
Various metrics are used in Scrum to measure productivity and for estimating the total effort a team is capable of producing in a sprint. Visual charts are also used for tracking progress and for providing visibility to all stakeholders.
A core set of values form the foundation for all Scrum processes and interactions:
At New Verve Consulting, we have applied Agile Scrum successfully on a number of complex software projects. We provide both product owners and scrum masters to our clients.
Kanban originates with Toyota as a means to improve and maintain a high level of production in its manufacturing operations. It is a visual process-management system with an emphasis on just-in-time delivery.
Kanban, unlike Scrum does not have predefined or prescribed iterations. Work in progress is determined by the “pull principle”, where self-organizing teams pull tasks from a backlog of work. For long-term planning, buckets are used to prioritize and group work into 1-year, 6-month and 3-month periods.
Four basic principles form the foundations of Kanban:
- There are no prescribed roles or processes - Kanban is a change management method that starts with existing processes.
- The team must agree to pursue incremental, evolutionary change.
- Current process, roles and responsibilities must be respected.
- Leadership should be at all levels.
A Kanban board is one of the visual tools used to implement the Kanban method and is essential for visualizing workflow and limiting work-in-progress. At New Verve Consulting, we employ Kanban boards regularly for warranty and maintenance phases of software projects. Kanban boards are also applied to Scrum for managing work in progress for the current Sprint.
The simplest Kanban board consists of three columns: “to-do”, “in progress” and “done”. Each prioritized item of work corresponds to a sticky note or card in one of these columns. The team pulls work from column to column and the project manager monitors progress as cards move around the board.
With market tools such as Atlassian JIRA, it is possible to set up, configure and manage visual Kanban boards very easily.
Scrumban is a hybrid approach that combines Scrum and Kanban.
It inherits the non-prescriptive approach to planning from Kanban where work in progress is determined by the “pull principle”. From Scrum, it takes the formal events such as the daily Scrum, planning meetings, review meetings and retrospectives to identify ways to improve.
Just like Kanban and Scrum, a Kanban board is used to visually control and monitor work in progress. Scrumban is very useful for teams that need to adapt to changing needs while not being overburdened by project methodology.
Traditional waterfall methods for developing software are rapidly falling out of trend, however there are some projects where waterfall is still a good fit.
The model is so-called because each phase of the project lifecycle takes place in sequence, where the output from each phase flows into the next. More importantly, all requirements gathering and design work is done up-front before any development takes place. Unlike with Agile, changes are tricky and expensive to implement later on.
The model is a good fit for projects where expectations and requirements are well-known and fully defined from the outset. The approach is very structured and it’s easy to measure progress against clearly defined milestones.