The 11 habits of highly effective Agile delivery teams

What makes an Agile delivery team effective and successful?

We are living in an era of group accountability and collective ownership. Cowboys have traditionally been very effective and organizations have loved them for far too long but have started realizing the latent cost of encouraging that kind of rogue behaviour. Instead, what we need are teams that work together well and bring out the best in each other. That brings us to today’s topic. What are the 11 fundamental habits or characteristics of highly effective agile delivery teams?

1. Great teams pursue excellence

Great teams pursue excellenceWhether it is using development and deployment checklists, automated testing, test or behaviour driven development, pair programming, extreme programming or continuous integration; teams that succeed are on the constant pursuit of excellence. Being “Good Enough” does not cut it for them.


2. Effective teams have W.I.P limits

Effective teams have W.I.P limits

The teams that are successful have a habit of keeping the focus on a limited number of tasks like a hawk. Their Work-In-Progress limit is extremely low. Like bees, they practice swarming. They finish what they start before picking up new tasks by having many people work on single tasks at the same time rather than going through a series of hand-offs.


3. Constant backlog refinement

Constant backlog refinement

Backlog refinement and grooming is second nature to effective teams. They focus on this task as a group rather than letting the Product Owner/BA and Scrum Master do it in isolation. They set aside a number of hours every iteration to refine their backlog just enough to be able to effectively pull in work for the next couple of Sprints. They understand that business priorities may change and are ready to adjust to that but always have ready user stories in their backlog to pull in. More mature teams do not need story points. They’ve refined the product backlog in such a manner that the size for the top items doesn’t vary much. They know how many items they can realize each sprint. Counting the number of stories is enough for them.


4. They follow the Scout rule

They follow the Scout ruleThis is self-explanatory. Always check-in code cleaner than you checkout. Successful and respected teams follow this rule and live by it.

5. Criticize ideas, not people

Criticize ideas, not people

Great teams have fun during retrospectives. They understand that all team members want to do what is best for the team and the organization. They brainstorm ideas and criticize the ones that either don’t make sense or have run out their usefulness. They know that most people are inherently good but most ideas may not be.

 


6. Fix dependencies with other teams

Fix dependencies with other teams

Great teams proactively and aggressively seek out external dependencies both incoming and outgoing and fix them before they cause heartache. Dependency management, be it technical or functional, is the biggest challenge to scaling. Organizations who are able to scale have their teams actively manage dependencies and counterbalance them with just enough planning.


7. Understand the business value of technical tasks

Understand the business value of technical tasks

Highly effective teams understand the business value that their technical tasks are bringing. They understand the value stream and can visualize the concept to cash model. The product owner makes sure that user stories outline the business benefit of the work being done which then puts the team in an advantageous position. They can now think of themselves as users and build it with a functional mindset as opposed to just completing a technical task.


8. Successful teams know their customer

Successful teams know their customer

Customers can be both external and internal. Effective teams know who they are and know what each of them expects. Knowing the customer allows them to make good decisions. Over time the customer trusts the team and gives them more autonomy. It is a win-win.


9. Effective teams are truly cross-functional

Effective teams are truly cross-functional

Great teams are truly cross-functional and understand that it is nearly impossible to always have the exact right balance of skill-sets iteration after iteration without tampering with the core team every time. Manual testing, if at all required, is not beneath the developers and a test engineer can help write unit tests if required. They understand that it is more important to complete fewer user stories as opposed to finishing isolated tasks on user stories that have no chance of getting completed.


10. Great teams update their work tracking system daily

Great teams update their work tracking system dailyWhether it is Rally or Jira or just a scrum board, effective teams know that keeping it up to date is in their best interest. It makes the daily scrum focused, provides transparency and most importantly it keeps the suits away.

11. Spend time on innovation

Great teams build in some slack into their iteration plan. They understand the importance of innovation and make sure they set aside some time for that. Building some slack allows them to do that if nothing unexpected turns up during the iteration. They know it’s necessary to keep up with the rapidly changing environment and technology. They ensure they have time for innovation during regular working hours, and that it’s fun and exciting!


That is it. These are the 11 things effective teams do really well. There are definitely more things that teams can do to become effective. But, if you want your team to succeed, introduce and encourage these things to be adopted and you will experience magic.


Originally published at www.linkedin.com.

Profile image of author: Amit Kaura

As the Head of Product Partnerships and Innovation at Achievers, Amit is committed to building an industry-leading employee engagement platform that connects employees with their organization’s values and mission. He is an accomplished technology leader with 15 years of experience building software solutions for enterprise companies. Amit started his career in 2004 at Tata Consultancy Services (TCS), a 100-billion-dollar global leader in IT services and digital and business solutions. At TCS, he consulted with many customers across North America to deliver custom software solutions enabling profound business transformation. Before this as the Head of Engineering at Achievers, Amit was focused on scaling Achievers’ engineering operations and delivering consistent value to customers. He led a shift toward modern agile principles and practices, which include merging design and architecture and supporting continuous delivery and self-organizing teams. Amit currently lives with his wife and two young daughters in Toronto, where they can be found biking around the city during the nicer months. Amit holds an engineering degree from Punjab University in India.

Stay connected

Get notified when new Engage blog posts become available.