7.8. Conclusion

Although it is tempting to think of radical change and incremental change as alternatives that we can rationally choose between at any time, this is not the case. Often, our decision to use one form of change instead of the other is dictated by forces outside our control. These include our position within the organization, the speed at which change is needed and the level of risk that we can accept.

Traditional software development methodologies have assumed radical change. To this end, the development team delivers software and the users are forced to change overnight. As we saw in Chapter 6, this limits opportunities for organizational learning and change by our customers. This approach has helped foster the image that IT is inflexible, difficult to work with and a barrier to change.

Agile software development is built on the idea of incremental change – quite different from traditional development. This reduces risk from development projects and opens opportunities for organizational learning by our users and development teams. However, this model still involves risks, most specifically that change won't happen fast enough or go far enough.

Agile also extends the incremental improvement model into the development team itself. As we have said before, the best Agile teams are themselves learning teams that are constantly improving the way in which they work and adapting to their environment. The same dangers hold within the team. Having achieved a form of 'Agility', ...

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.