Making agile development work for your company can seem daunting, but if you focus on the four keys of focus, quality, effectiveness, and continuous learning, you’ll be well on your way to success. In this blog post, we’ll explore what each of these keys means for your business and how you can implement them. Agile Development is a product development mindset that has been proven to help companies achieve their goals faster and more efficiently. If you’re already working on a transformation to agility, this blog post will be priceless!
Key #1: Focus
Focus is the first key to agile success. This means setting and communicating
- Product visions for your products.
- Product goals to identify clear objectives for the next 3-6 months.
- Sprint goals at every sprint planning event.
Then you have to work on staying focused on your goals. The Scrum framework supports this by
- Making the Product Owner accountable for the product goals. Artisan Agility recommends making your Product Owner accountable for the product vision as well.
- Creating Product goals that support the product vision.
- Building product backlog items that support the product goal.
- Creating Sprint goals that support the product goal.
- Checking progress against the sprint goal every day in the daily scrum event.
- Checking progress against the product goal every sprint during the sprint review.
Focus is also about avoiding interruptions. The typical worker is interrupted (or interrupts themselves) every 3-5 minutes and those interruptions are responsible for more than 80% of the typical product’s defects. Workers need to learn how to work in focused and uninterruptible time boxes (of 30-90 minutes in length), taking short breaks in between.
Finally, the key to focus also involves lowering work in progress. Too many organizations and the teams they create work on too many different initiatives and projects at the same time. When your work-in-progress is high (for the typical Scrum team, that’s more than 2), workers are more likely to be interrupted and subjected to context-switching (which also significantly lowers productivity). By collaborating more and focusing on getting things DONE instead of starting new work items, teams can easily improve their outcomes.
Key #2: Quality
Quality is the second key. This means building features correctly using design, coding, and testing standards; and setting a high priority on automated testing. Good design standards can help you design solid and supportable product features easily and quickly.
Good coding standards can help you build features that are more easily supportable and have much better initial quality.
Good testing standards and processes can help you better test features and limit the number of mistakes that can get through your “testing firewall” and affect customer satisfaction as well as overall support costs.
In addition, the financial case for automated testing is irrefutable. It will always cost significantly more to have human beings doing manual testing. While test automation is never easy, the tools available today are light-years beyond the quality of tools we had available to us a decade ago. Automated testing will not only save you time in the long run, but it will also help you catch errors before they make it into production.
Key #3: Effectiveness
Effectiveness is the third key to success. This means improving how things get done so that, once a mistake occurs and is solved, it can never occur again. You can achieve this by constantly asking yourself how you can do things better. Additionally, always be learning from your mistakes and share what you’ve learned with your team. Doing this will help you prevent making the same mistakes in the future.
Scrum teams hold a retrospective at the end of every sprint. The truly experienced teams whittle the improvement ideas down to a select one or two ideas that will have the biggest impact. They implement those changes in the next sprint by including them in the sprint goal.
Key #4: Continuous Learning
Continuous learning is the fourth and final key to agile success. This means routinely taking time to share skills and acquire new skills. You can do this by setting aside time each week to review related material on the internet (both blog posts like this one and videos), cross-training between teams, and holding short learning sessions driven by team members. Team members should always be learning from other team members and sharing your knowledge with them. By continuously learning, you’ll be able to keep up with market realities and changing technology and ensure that your team is always agile. You’ll also find that workers stay longer in a position when there is always something new to learn.
By making the four keys part of all of your decisions, you’ll be well on your way to making agile development work for your company! Do you have any other tips for agile success? Share them in the comments below!