7.5. Continuous Improvement

Agile development is built on a different change model from that underpinning the traditional software engineering literature. Both in the development and deployment processes, Agile development assumes incremental change and continuous improvement – neither of which is a panacea. They present significant challenges to the teams and team leaders, and entail their own risks.

When incremental change is ongoing and when these changes are for the better, then change becomes continuous improvement. Changes may be large or they may be small; the important thing is that teams continue to look for ways to change what they're doing for the better. The challenge to team leaders is to ensure that change is sustained. Change and improvement must be guided, so these produce benefits in line with the organization's objectives and strategy.

In seeking to both do their work and improve their working environment, processes and practices teams need to play both the finite and infinite games described in Section 5.2. In order to do this, teams need some slack (see Section 5.3.2) – both in terms of time and resources.

Ideas for improvement in a continuous system may come from anywhere. There's no monopoly on good ideas held by managers and consultants. Confining our expectations to managers ignores the ideas and experience of the workers.

Ideas from users are as valid as managers' ideas, which are as valid as ideas from secretaries and ideas from customers. Sometimes good ...

Get Changing Software Development: Learning to Become Agile now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.