Introduction
We apply the Agile methodology to our workflow. Agile uses a flexible, iterative “minimum viable product” (MVP) approach. Agile breaks down projects into smaller, manageable chunks called sprints. Each of our sprints lasts two weeks and focuses on completing a specific set of tasks towards an EPIC (feature, microsite, subsite, campaign or form). Features of a product are developed sufficiently for first users to interact with the product and provide feedback. That feedback informs the next iteration, and the product is continuously improved.
Government services need to be able to respond quickly to policy changes and the needs of the public. In traditional project management, teams typically work to a fixed plan that does not change. Agile product management allows for changes to the “plan” based on feedback, stakeholder engagement, user feedback or research. We hold regular check-ins and make adjustments if they are needed. This approach focuses on iterative development, customer collaboration, and adaptability. This leads to faster, more effective product design.
There are four core Agile values:
- Individuals and interaction over processes and tools
- Working software over documentation
- Customer collaboration over contracts
- Responding to change over following a plan
Key Elements of Agile Sprint Management
Sprint Planning
At the beginning of each sprint, the Service Manager, Product Owner and team meet to plan the work that will be accomplished. This involves selecting items from the product backlog, estimating the effort required, and setting a sprint goal focused on user and business needs.
Daily Stand-ups
These are short, daily meetings where team members discuss their progress, any obstacles (blockers) they’re facing, and their plans for the day. This helps keep everyone on the same page and allows for quick problem-solving.
Sprint Review
At the end of the sprint, the team discuss their completed work for feedback. This ensures that the project is on track and meets the stakeholders’ needs.
Sprint Retrospective
After the sprint review, the team reflects on what went well, what didn’t, and how they can improve in the next sprint. This continuous improvement process is vital for maintaining high performance.
Why is Agile Sprint Management Important?
Agile sprint management is crucial because it:
- Enhances Flexibility: By breaking down projects into smaller, manageable sprints, teams can quickly adapt to changes and new requirements.
- Improves Collaboration: Regular meetings and reviews foster better communication and teamwork.
- Increases Productivity: Focused sprints help teams concentrate on specific tasks, reducing distractions and improving efficiency.
- Ensures Quality: Continuous feedback and iterative development help catch and fix issues early, leading to higher-quality outcomes.
Analogies to Understand Agile Sprint Management
- Cooking a Multi-Course Meal: Imagine you’re cooking a multi-course meal. Instead of preparing everything at once, you focus on one dish at a time. You start with the appetizer, gather all the ingredients, cook it, and then taste it to see if it needs any adjustments. Once the appetizer is perfect, you move on to the main course, and so on. This way, you ensure each dish is of high quality and can make changes as needed based on feedback.
- Building a House: Think of building a house. Instead of trying to construct the entire house in one go, you break it down into smaller tasks. First, you lay the foundation, then build the walls, install the roof, and so on. After each phase, you inspect the work to ensure it’s done correctly and make any necessary adjustments. This approach helps you manage the project more effectively and ensures a sturdy, well-built house.
Initiation
The initiation happens at the start of the product cycle. During this phase, we align stakeholders on common goals and lay the foundation for the product.
This is when key information is gathered to kick off the work and includes:
- Project purpose and justification
- Main objectives and deliverables
- Key stakeholders and team members
- Initial schedule
- Priorities
Conception, planning and delivery
Concept
This involves understanding the initial idea and its importance and establishing stakeholders.
Discovery
This phase focuses on making the idea concrete, planning, and risk management. This is generally created through discovery workshops and research.
A discovery meeting is conducted as an initial discussion between a service provider, stakeholders and the delivery team. The goal is to gather information and understand the needs, challenges, and objectives of the business and users, including the risks and impact on other users or services. Scope and timelines can be discussed, with the understanding that input and constraints will impact the overall timescale for deliverables. A minimal viable product (MVP) can be outlined.
Inception
Once the concept is outlined, the Product Owner will assess availability and select a squad with the right skills for the project while also providing them with the necessary tools and resources. They can then start the design process with a mock-up of the user interface and then prototype the architecture. The inception stage involves further input from stakeholders to fully flesh out the requirements and determine the product functionality. Regular check-ins will help to ensure that all requirements are built into the design process.
Construction
This phase involves developing the features and functionalities of the product. The goal is to build the bare functionality of the product (Minimal Viable Product MVP). Additional features and tweaks can be added in later iterations based on peer review and user feedback.
Iteration
The product features and components are peer-reviewed and tested against technical and user needs. This is relayed to relevant stakeholders.
Release
The product is developed and released to users, involving final testing, deployment and analysis.
Maintenance
The product is monitored and updated based on user feedback. The team will provide ongoing support to keep the system running smoothly and resolve any new bugs. Over time, new iterations take place to refresh the existing product with upgrades and additional features.