Agile/Iterative Teams follow a lightweight, evidence based, adaptive approach to software development. Delivery is frequent, with regular increments adding to an increasingly rich product.
An agile iterative team will be self-organizing, cross-functional and will deliver regular incremental releases of their product in short iterations or time-boxes (preferred iteration duration measured in weeks). The team will actively engage as a group in detailed planning of their short iterations/sprints and will proactively adapt plans and working practices rather than be directed by management. Self-organization implies the team taking responsibility for their success or failure improving their motivation as they achieve autonomy. A Project Manager may be involved in an agile team to perform leadership, co-ordination and communication activities while the team and Product Customer are responsible for planning.
We recommend Scrum for agile Product Delivery Teams
“Agile” is not just about workflow though, that’s what makes an iterative team. “Agile” is a philosophy, centered in team based social practices where individuals and interactions are valued over processes and tools. Agile teams embrace social interaction, organic networking and a strong focus on working software as the measure of progress. Be wary of derailing agility by focusing on processes (Scrum), measures (velocity) and tools (backlog tools).
Iterative teams are very similar to agile teams and will also deliver regular incremental releases of their product in short iterations or time-boxes but are typically controlled by directive management rather than being self-organizing. Planning is often done for the team by a Project Manager who takes on planning responsibilities as well as performing leadership, co-ordination and communication activities.
From a workflow perspective, Agile and Iterative Teams are very similar in nature, both deliver small parts of a system incrementally, batching requirements into timeboxes and both require regular feedback loops. Typical iteration or sprint durations will be 2-4 weeks, represented by a Sprint/Iteration Plan and the order of feature delivery in the increments is determined by balancing customer priorities, technical risk and technical dependencies. If there is conflict between these areas, we recommend de-confliction using the Product Forum practice.
Agile/Iterative teams are intended to be cross-functional, meaning that the team has all of the skills within it to accomplish all that is asked of it. An team therefore requires specialist capability in user experience, requirements, architecture and design, coding, testing and deployment. In practice, within large organizations some specialists will emerge that float between teams, working with them temporarily to advise others for short periods as required, for example to provide expert UX skills. For more see the Team Forming practice.
Agile and Iterative teams will practice some form of “Reflect and adapt” or continuous improvement technique at sprint/iteration boundaries. For example, teams using Scrum will schedule and perform a retrospective each and every sprint to identify what can be done better or changed to improve team performance. Iterative teams do the same at Iteration Assessments.
For continuous improvement teams will use some simple performance metrics to assess the amount of work being completed, these metrics can also be extrapolated to predict future milestones based on actual performance.