4. Agility in Practice – Part 1
Now that we've explored concepts like agility, Scrum, and Kanban, it’s time to bring these ideas into a practical scenario that you’re likely to encounter in your day-to-day work.
Scenario:
Imagine you’ve just started a new role as a Product Manager. The team you’re working with is made up of software engineers, designers, quality assurance professionals, and business analysts—a typical multidisciplinary team. However, you soon realize that there is no established workflow and no one specifically responsible for managing it, such as an Agile Master, Scrum Master, or any other agility specialist.
So, what do you do? Here are some practical tips to help you optimize the workflow in this scenario:
1. Visualize the Workflow
The first step is to make the workflow visible. Whether using tools like Trello, Jira, Notion, or Asana, the key is to tangibilize the work so everyone can see the status of tasks and how they progress.
Once you've visualized the workflow, it’s crucial to define the different stages or phases that the work goes through. This will give you an overview of where tasks may be getting stuck. For example, you can differentiate between upstream (ideation, strategy) and downstream (development, execution) work.
An example could be a workflow divided into five stages:
- Opportunities: Any idea or demand comes here.
- Discovery: After identifying an opportunity, you conduct research, interviews, and analysis.
- Ready for Downstream: After refining the work, it moves into a stage where the engineering team prepares it for development.
- Development: The team has the autonomy to pull tasks and start working on them.
- Delivery: The final stage where the work is complete and ready for release.
Tools like Jira make it easy to map and model these stages in columns on a Kanban or Scrum board. This visibility helps track progress and identify bottlenecks in the workflow.
2. Identify Different Types of Work
It’s crucial to understand the types of work your team is handling. This will help you prioritize and manage tasks effectively. Here's a simple classification:
- Features: Tasks that deliver value to customers. These are usually tied to epics and user stories.
- Defects: Bugs or issues that need to be fixed.
- Risks: Tasks that address regulatory or legal requirements, especially important in regulated industries like banking or insurance.
- Debt: Often technical debt, these are items that, if left unresolved, could lead to bigger problems down the line (e.g., security vulnerabilities or performance issues).
This classification helps you balance the workload and ensures the team focuses on different areas, not just feature development.
3. Define Granularity of Work
Another way to categorize work is by its granularity:
- Initiatives: High-level strategic items that take several months to complete.
- Epics: Larger deliverables, taking a few weeks.
- User Stories: Smaller tasks that can be completed in one to two weeks.
- Subtasks: The detailed steps needed to complete a user story (e.g., frontend development, backend integration).
For example, if you’re building a search function for customers, the epic might be "Search for Customers," and the user stories could be "Search by Type," "Search by Location," and "Search by Tags." Subtasks would break down the technical work, such as designing the UI or implementing the API.
4. Visualize Prioritization
Once you’ve categorized the work, it’s essential to prioritize it effectively. Here’s a simple model that can help:
- Expedite: Urgent tasks that must be handled immediately to mitigate risk.
- Fixed Date: Tasks that need to be completed by a certain date (e.g., product launches, regulatory deadlines).
- Standard: Regular work that can be prioritized based on impact.
- Intangible: Work that doesn’t show immediate returns but could lead to innovation or future competitive advantages.
By balancing urgent tasks with long-term innovations (like intangible items), you ensure the team isn’t always firefighting but is also working toward strategic goals. For example, a task related to building a new payment system might seem intangible initially but could give your company a huge competitive advantage in the future.
Conclusion
To summarize the practical steps you can take as a new product manager:
- Visualize the workflow using tools like Jira or Trello to track task progress.
- Classify work by types like features, defects, risks, and technical debt to prioritize effectively.
- Ensure tasks have the right level of granularity, from high-level initiatives to detailed subtasks.
- Prioritize tasks based on urgency, fixed deadlines, or long-term innovation potential.
By applying these practices, you can ensure that your team works efficiently and effectively, even without a dedicated Scrum Master or Agile coach to manage the process.