“One fails, we ALL fail!” is a common phrase used across team that use Agile methodologies. But why is this not a mantra for Waterfall projects? Today it seems many organizations are focused on one methodology or the other, instead of looking at ways to leverage the strengths of both to successfully deliver projects.
I believe effective program offices can improve project execution by using the best of Agile and Waterfall throughout the project management lifecycle. This would require adapting existing program execution methodologies and providing project managers versed in both approaches.
The widely accepted strengths of Waterfall are quality deliverables, effective management of risks and issues, and definitive processes. Token strengths of Agile methodologies are co-location of teams, daily stand-ups, frequent prototypes and retrospectives, and product owner accountability.
So if you’re a project manager working in a Waterfall environment, you could try incorporating these signature Agile development tools to improve project execution:
- Daily meetings to discuss impediments allows for earlier identification and management of risks and issues along with an immediate opportunity to escalate to senior management, if needed.
- Co-locating teams gives everyone the opportunity to understand the project dynamics and allows the teams to work together, resulting in a better understanding of activities, deliverables, risks and issues. Implement more frequent reviews of deliverables early and often throughout the process. If co-location is not an option, use face-to-face meetings as much as possible or video teleconferencing.
- Frequent prototypes. The earlier in the process the business can see results and make decisions, the better. Prototypes can and should be used often throughout the requirements, design, and development phases to facilitate understanding and decision making.
- One team philosophy. One fails we all fail. The project manager needs to enforce team accountability. Also, by using co-location, it allows for team members to assist other team members that may be falling behind or need assistance on deliverables thus eliminating wasted time.
- Schedules with multiple views and levels of detail. Break out the project schedule to show the short-term tasks and milestones along with the overall schedule for longer-term tracking and dependencies.
- Shorter releases. Breakup larger efforts into a series of shorter releases focused on the most important priorities. If the project manager can segment a 12-month project into a series of 3 or 4 month releases, the opportunity for success increases significantly. This allows for a lessons learned type of approach typical in Agile methodologies, but in more frequent intervals.
- Frequent retrospectives. Set up retrospectives for feedback, even if on deliverables still in progress. Formal review and approval should still occur after each phase to ensure the current plan is accurate and to look for opportunities to gain efficiencies.
- Planning cards. Use planning cards to re-baseline activities of each requirement. This allows the team to come together and have equal weight in planning out activities of the project; ensuring there is consistency in planning regardless of activity or task.
If you’re a project manager working in an Agile environment, try incorporating these reputable waterfall methods:
- Enforce accountability of stakeholders through the Product Owner. Ensure approvals of Product Owner for each deliverable are defined, with respect to the constituents that need to be involved and that approvals are captured in a timely manner. Just because you are doing Agile does not mean formal approvals are not needed.
- Develop an overall vision of the schedule and priorities beyond the current and upcoming sprints. Breakout the plan to show activities of the current and next sprints, but also take time to focus on the overall project activities. Take advantage of grooming sessions to view longer-term project plans leveraging the product roadmap.
- Closely manage risks and issues. Agile development tends to only focus on current impediments. Take the time to more formally track risks and issues and schedule frequent discussions to track and manage project risks and issues across the overall duration of the project.
- Ensure quality and thoroughness throughout the Agile process. For example, a high-level requirements document may be constructed during Sprint 0. This document should be iteratively built throughout the development sprints so that by the end of the project, a comprehensive and accurate requirements document exists. This will facilitate knowledge transfer, support, and maintenance activities.
Regardless of methodology, the majority of the strengths of both approaches come from people working together towards a common goal—accountability leads to high-performing teams!
You may be wondering: how do I build and sustain this hybrid approach? I believe that taking the successful components of each methodology and applying it across the board will help project managers lead more efficiently and therefore better meet customers’ expectations. An effective program construct with project managers experienced in both methodologies will enable you to adopt the best of both worlds and sustain these approaches throughout the project execution lifecycle.
From my own personal experience, I have found one of the hardest challenges in transitioning from Waterfall to Agile development is getting out of the mindset of “owning” a particular deliverable until it is handed off, as opposed to working on each deliverable collectively. Conversely, organizations adept at Agile are often resistant to incorporating successful elements of Waterfall that may be required due to the configuration of certain organizations.
What are your biggest challenges transitioning between the two methodologies? Would you be willing to take the best of both if it resulted in better project execution?