There are 2 main methodologies for managing projects: Waterfall and Agile. The problem is most of us don’t know when to use these methodologies or when we do use one, we feel cheated by not reaping the benefits of the other. Most companies feel Agile is the answer, but then they go “all in” on Agile and have a hard time reporting progress. Fear not! You can use both methodologies at the same time to run your projects with the precision and progress reporting the sponsors are accustomed to from Waterfall, while allowing flexibility for changes, so that resources can easily adapt. This Waterfall/Agile hybrid methodology provides the project manager and development team the tools needed to successfully deliver in a dynamic environment and report progress against the scope, budget, and delivery timeframe.
Both Waterfall and Agile methodologies each have their own benefits. Depending on your project management needs, you should select the methodology that will give you the biggest bang for your buck!
To easily determine which methodology to use, see which methodology’s criteria best fits your project’s dynamics:
If your project lends itself to the Waterfall methodology, then use Waterfall. Don’t feel you have to use Agile, just because everyone is doing it.
If your project lends itself to the Agile methodology, fantastic! Use agile, but you may also want to consider using this Waterfall/Agile hybrid to increase your planning success and provide accurate progress reporting.
The Waterfall/Agile hybrid solution allows you to take advantage of Agile’s changing priorities and flexibility, while putting controls in place for reporting progress. It also allows you to apply the Agile methodology with real world constraints:
• Limited budget
• Limited resources
• Within a specific timeframe
• Demonstrate added value to the organization
After gathering the progress reporting expectations from both the Business Sponsor and IT Management, here are the 5 steps to creating your Waterfall/Agile hybrid solution:
- Setting up the project schedule – allows for tracking Agile development progress
- Setting up agile – allows for defining development activities and provides an interface to the project schedule updates
- Following best practices – allows for standardization and efficiency
- Adjusting for progress reporting – allows for accurate Agile status reporting and KPIs
- Continuous improvement – conducts training and feedback loops for improvement
Setting up the Schedule
- Create Planning tasks, like any other Waterfall project
- Gather high level application requirements to determine the Epics and Features
- Epic and Feature items can be demoed, tested by the user in UAT, deployed
- These primary deliverables are tracked when reporting progress
- Create an Agile Updates section, that tracks progress from the Agile tool (i.e., Azure Dev Ops, Jira, etc.)
- One Agile tracking task should be added for each Feature
- These tasks to not determine duration, just Feature completion
- As Agile tasks are updated, it may increase or decrease the Completed finish date
- Once the Features are completed, the completed milestone will be updated
- Create an EPIC/Feature duration section in the schedule
- Plan the duration as separate development and test activities
- Based on the high-level requirements provided, ballpark how many sprints the feature may take
- Link to the common Sprint schedule (this can be kept in a separate schedule to that many projects can access it)
- After the baseline is set, as Agile Updates are applied to the Features, the sprints may need to be adjusted in the duration section
- Add non-agile tasks and link them to the Agile dev completion
Setting up Agile
- Define a common Agile hierarchy to use across projects
- Add a user defined level called Initiative for easier reporting in the Agile tool default structure
- Sync Epics and Features by setting up the Agile hierarchy to match the schedule
- In the Agile system, break the Features into User Stories – as you do this, you may need to adjust the project schedule Features and sprints
- User stories are an equal split of the Features, because a Feature cannot be tested until all the User Stories are completed
- How to determine completeness:
- Agile Feature percentage completed is determined when a User Story is completed
- If not one of the User Stories are complete, then the Feature is 0% complete
- If some of the Feature’s User Stories are completed, then there is a percentage complete
- If all the Feature User Stories are completed, then the Feature is 100% complete
Best Practices
- Create an Agile project schedule template that can provide the common Agile sections to be built out
- Create a common Agile system structure that supports the project templates – they need to work hand in hand
- Create a common print schedule, so the entire organization can use it – this will also help with overall IT planning and roadmaps
- Benefits for a Common Sprint Schedule
- Have similar sprint dates and duration to compare productivity
- Every 2 weeks, during sprint planning you have reporting accuracy based on what was completed
- A meaningful release schedule can be tied to the fiscal year quarter or business season
- Proper PI planning by aligning all the teams on and Agile Release Train (ART) will have a shared mission/vision and to better handle dependencies between projects
- Provide training for common User Story creation, so that all User Stories have similar formats
- When creating User Stories, identify who it is for, what you want to do, and why.
- Format: “As a (persona), I can do (action), for/to (benefit)”
- User Stories are the basis for development and UAT test plans, so the creation is critical to the Agile project
- Create a common Agile Planning / Tracking Cycle calendar
- User Review and Plan – review Features and User Stories in progress; review User Stories coming up on the backlog
- Sprint Retro and Plan – Ensure Tasks and User Stories from prior sprint have been closed; load new sprint; assign user stories
- Estimating and Feedback – estimate individual tasks; review and validate estimates; review sprint workload; add or return work to the backlog as needed
- Scrum – review progress of Tasks; “Done, Doing, To-Do” and issues
Progress Reporting
- Create a Baseline indicator, so you can select the tasks to baseline; allowing the Agile tasks to be not baselined and remain flexible
- When the project schedule and Agile systems are in sync, take the schedule baseline
- As the schedule is updated, you can report variances to completion milestone starts, finishes, and determine the current scope based on resources, budget, and timeframe
- Create a KPI indicator, so you can bypass the Agile tasks that don’t make sense to report KPIs on, like:
- Tasks with no resources
- Tasks exceeding X days
- Etc.
- These indicators will enable Agile portfolio reporting with the other Waterfall projects, while keeping Agile flexible
Continuous Improvement
- Focus training only on teams that are about to kick-off Agile projects
- Formally train PMs and Project Teams and support them throughout the Waterfall/Agile project
- Socialize Agile project management through informal conversations and Lunch & Learns
- Setup periodic feedback sessions for process, technology, and training improvements
In Summary, by creating a realistic Agile solution that allows for flexibility and has the right amount of structure for reporting Agile progress, the Waterfall/Agile hybrid methodology provides you with:
- Transparency into Agile projects, which leads to a higher success rate in meeting the project objectives by resolving issues when they occur
- A more focused effort on prioritizing enhancements that are in line with the organization’s goals
- A standard way to setup and report on Agile projects resulting in efficiency and more effective onboarding of resources
- A practical working methodology
- Updated processes and templates
- An on-time and on-budget delivery
For more information on how we can help you and your project management team, send us an email
If you are looking to kick start your project management journey, sign up for our Microsoft Training Classes. We hope you find this blog post helpful. For more tips and tricks on Project Management, follow us on LinkedIn and Instagram