What is an agile development team?

A development team is a group of people who work together to create software. This is complex, creative work that requires adaptability as technical challenges arise and business requirements evolve. An agile development team will seek to meet these challenges by applying the principles of cross-functionality and self-organisation.

Cross-functional

Rather than organising people into specialist teams such as analysts, coders, and testers; agile development teams have all of the skills to turn requirements into production-ready products. This does reduce pure efficiency and utilisation - there may be times that there is nothing to do but test, so coders and analysts will have to help out. The pay-offs for this compromise include:

  • Reduced dependencies and coordination required to get a feature into production, increasing predictability.

  • Faster feedback cycles: mature teams can get from idea to deployed feature in a matter of weeks.

  • Increased control and visibility.

  • Enhanced risk management for decisions made on requirements and technology.

Self-organising

There is no project manager assigning tasks to an agile development team, nor a defacto "team lead" amongst the developers who keeps everyone busy. Self-organisation is built on the premise that if no single person is in charge, then the whole team needs to stay vigilant and engaged in their shared goals. This is a radical departure from traditional development, where your responsibility as an individual technologist ends at delivering your work package and reporting issues. Now, individuals share whole-team accountability for their actions and decisions. If implemented well, this is likely to mean:

  • Higher motivation arises from greater autonomy and trust.

  • Increased innovation, resulting in new feature ideas and technical solutions.

  • Reduced defects as the whole team takes shared accountability for overall outcomes.

  • Efficient problem resolution: teams can act without escalating up the chain of command and waiting to be told what to do.

Previous
Previous

What is an agile business analyst?

Next
Next

Why do OKRs support business agility?