The Development Team (a.k.a. the team)
By the Scrum guide:
- Self-organising: the team determines itself how to organise and execute their work
- Cross-functional: the team possesses all the necessary skills and competences to produce a potentially shippable product increment
The term feature team has been coined by Craig Larman and Bas Vodde (2010).
A feature team is a long-lived, cross-functional, cross-component team that completes many end-to-end customer features—one by one
A feature is able to take in a customer feature (requirement) and handle it end-to-end and in this way capable to deliver value iteration by iteration.
Most teams are not feature teams. There’s an attempt to create a cross-functional team, but that team does not possesses the skills necessary to implement a customer-centric feature end-to-end.
Traditional organisations are composed of component teams – a component team specialises in one particular line of work.
In large traditional structured organisations the number of component teams is huge: a sub team for each and every ‘phase’ of the project or system involved:
- marketing / business concepts, business analysis, functional analysis, copywriting, visual design, user interaction / user experience design, technical analysis, technical design, front-end development (subteams by technology), back-end development (many subteams for each component or layer), network, server-system infrastructure, mainframe systems, webserver, etc – the list is long.
There’s a terrible overhead and waste in coordination, hand-overs, communication.
Creating true feature teams is a major and important step in the organisation’s redesign to become agile.
The team itself is cross-functional, this means that the team as a whole requires the skills to implement the entire customer-centric feature end-to-end.
People within the team have multiple specialisation (skills): you need to ask and encourage (incentive) your team members to have secondary, tertiary skills. If the people don’t have those other skills, apply co-learning techniques.
Scott W. Ambler coined the term “generalizing specialists” to define the need for multi-disciplinary team members.