Agile Improvement Tips

Section Strong Weak
VALUE DRIVEN When management recognizes that the value of the work being delivered is the best way to measure team performance there is an alignment that happens in an organization. People tend to fix the “right things” and work together towards common goals more effectively. When organizations don’t recognize the value delivered by a team as the primary measure of their success, there is a tendency to micro manage or send mixed signals to a team which often result in sub optimal outcomes. For instance if a company thinks the number of hours a team works is important then teams start to worry more about punching a clock than the quality of their work. They may be more interested in getting things checked off a list instead of delivering what is really needed. They may focus on outputting as much code as possible if lines of code are measured. In each case, the further from focus on business value, the less valuable the team ultimately is. It may take a very long time for the business or team to recognize this.
ADAPTATION Teams that can learn and adapt to changing priorities are more effective in a competitive environment where responding to customers and the marketplace is critical. Teams that don’t embrace change in their processes and encourage experimentation and risk-taking tend to be left behind in a competitive world. Without a social engine for continuous improvement that is ingrained in the culture, teams tend to take direction but are not very innovative. They also tend to have lower morale and fight change in requirements or plans which leads to slower production of value for customers.
QUALITY

A quality product is one where that performs as expected. When an organization consistently produces a quality product using a reliable process, they become more predictable. After all, if you say something will be done in March and we know it will be high quality, we can count on that date with more certainty and less risk of emergency patches or fixes along the way that could push that date.

An organization that does not have a strategy to consistently deliver well tested, high quality products can never become predictable. There is no telling when some random bug will plague an important customer and require dropping of work to get the fix in. This means all date commitments are completely suspect. Additionally, the cost of fixing a problem, instead of never having it, is multiplied when you consider the customer experience. Automation is necessary to regularly and reliably check that regression (introducing bugs into existing working product) has not impacted your code. So along with good habits and processes, an automated solution should be a requirement of a predictable, quality software producing organization.

METRICS

An organization that measures and takes action on the factors that truly drive their business has the tools needed for alignment and rapid response to change. If an organization doesn’t have a set of metrics that are well-understood and universally accepted as important to driving the business, then individuals tend to either ignore those metrics or form behaviors to hit metric numbers instead of hitting the real goals of the organization. A lack of alignment between metrics and what the business truly needs often leads to inaction when it comes to improving the parts of the process that could have real impact.
PREDICTABILITY Predictability is the engine of business. Customers need it to plan, management needs it to plan. Development is not a completely predictable part of a business but if good practices are in place to minimize the unknown it can be predictable enough for a business and its customers to trust it. Predictability is often one of the most difficult aspects of Agile development to achieve. Many factors, including quality, automation, collaborative estimation and forecasting, constant improvement and accurate measurement can all lead to improved predictability.
COLLABORATION Teams that are rewarded for collaboration are typically more effective, act with a better sense of shared purpose and have higher morale. This allows a team to grow towards optimal effectiveness. When individuals or teams within an organization are rewarded for individual acts then silos form. This leads to less efficiency, less predictability (due to more dependency bottlenecks) and optimization for individual activities instead of the whole organization. If a developer is highly effective generating code but no one is ready to check the code, it piles up and nothing is delivered by the organization. This is a typical example of how silos don’t lead to high performing teams or organizations.
ORGANIZATION If your company is embracing change and collaboration and delivery of value you are creating the foundation for successful Agile teams. Continue to celebrate failure and learn from it and you will continue to become more competitive in your industry. If the organization is not supporting teams working collaboratively and parts of the company continue to work in non-Agile ways they will struggle to optimize for delivery of value. This will lead to finger pointing, morale issues, political infighting, frustration and often blaming the new Agile processes for any new issues. A strong Agile coaching team and evangelism is needed to overcome these challenges by working with organizational leaders to help them realize the benefits and implement the solutions needed to develop and empower high-performing teams.