5. Agility in Practice – Part 2

Now that we've discussed foundational aspects of agile methodologies like Scrum and Kanban, it's time to dive deeper into practical applications of these frameworks in real-world scenarios. In this section, we’ll look at strategies for optimizing workflows, improving team productivity, and enhancing communication in agile teams.


1. Identify Opportunities for Improvement in Your Workflow

One effective approach when entering a new team or organization is to evaluate the current workflow and ask some key questions:

These questions will help you map out the team’s workflow and identify areas that need attention. Visualizing these workflows using tools like Jira or Trello is a great starting point to see the flow of tasks and understand bottlenecks.

One useful tip is to create a matrix of objectives for each interaction or meeting within the team. For example, the planning meeting might focus on prioritization and alignment, while a customer forum might be more about discussing actions and results. If any meeting doesn’t have a clear objective, it’s likely a candidate for removal.


2. Conduct Regular Retrospectives

To ensure continuous improvement, regular retrospectives are essential. These sessions should focus on:

By reflecting on these questions, you can identify opportunities for change and better understand the context of the team and the current workflow. Even when joining a new team, conducting a retrospective in your first week can provide valuable insights into what’s already working and where improvements are needed.


3. Apply the STATIK Model

One effective approach to optimizing workflows is using the STATIK (Systems Thinking Approach to Introducing Kanban) model, which involves five steps:

  1. Understand sources of dissatisfaction: Talk to team members to identify what’s not working.
  2. Analyze types of work: Classify tasks by type, such as features, defects, risks, and technical debt.
  3. Understand the workflow: Map out how different types of work flow through the system.
  4. Prioritize work: Establish clear criteria for prioritizing tasks.
  5. Prototype a new system: Create a visual system to manage and optimize the flow of work.

By understanding the team’s current dissatisfaction and refining their workflows, you can make incremental improvements that respect the current structure and culture.


4. Measure and Optimize the Workflow

Effective agile teams rely on metrics to understand their productivity. Three key metrics are:

By tracking these metrics, you can analyze the team’s workflow and identify areas for improvement. For example, if WIP is too high, the team may be spreading itself too thin, leading to delays. Limiting WIP can help maintain focus and ensure tasks are completed more efficiently.

Using graphs and charts to visualize these metrics is crucial. For instance, a WIP aging chart can show how long tasks have been in progress, helping you identify which tasks are at risk of becoming stalled. A lead time scatterplot can provide insight into how long different tasks take, offering a way to predict future delivery times based on historical data.


5. Describe and Classify Work Effectively

To ensure that tasks are well understood and easy to manage, it’s essential to define them clearly. When describing tasks, include:

For example, an epic might have the context of allowing customers to update their address through an app, with the goal of improving the user experience and reducing call center workload.

Using frameworks like User Stories ("As a customer, I want to [action] so that [outcome]") or BDD (Behavior-Driven Development) ("Given [context], when [action], then [expected result]") can help ensure clarity and alignment across the team.


6. Use Percentile Analysis to Manage Lead Time

One valuable tool for managing lead time is percentile analysis, which can help predict how long tasks will take. For example, if 95% of tasks are completed within 15 days, you can confidently predict that most future tasks will follow a similar pattern. This allows the team to answer the classic question, “When will it be done?” with greater accuracy, while also considering the risks associated with deadlines.


7. Analyze Throughput and Value vs. Failure

Throughput is another critical metric that shows how much work is being completed. It’s essential to break down throughput by type of work to see whether the team is spending most of its time fixing bugs or delivering new features. This can reveal if the team is "firefighting" rather than delivering value.

A useful metric here is the percentage of value vs. failure. If a team is spending 95% of its time fixing failures, it may indicate deeper issues with product quality that need to be addressed.


Conclusion

To sum up, here are the key takeaways for applying agility in practice:

By focusing on these practical approaches, you can optimize workflows, improve team performance, and ensure that your agile processes deliver real value to customers.