The agile manifesto stresses:
- Individuals and interactions over processes and tools;
- Working software over comprehensive documentation;
- Customer collaboration over contract negotiation;
- Responding to change over following a plan.
The agile approach has focused on delivering value to customers faster; emphasising quality in ways that previous methods haven’t and improving the quality of work produced.
As agile has moved from being a practice to a value, the market for agile services and tools has expanded rapidly. But, as Jim Highsmith of ThoughtWorks, who began his career working on the Apollo manned space program and launched his first agile project in the 1990s, asks: how do agile approaches keep moving forward? He suggests:
- ‘Innovate. I’m encouraged by the continuous innovation I see in agile: DevOps, continuous delivery, the conversations over technical debt, lean, agile and adaptive leadership etc. Continued innovation combats the creep of staleness that tends to infect movements after a few years.
- Idealism vs practicality. As agile permeates into larger organisations; we have to focus on both idealism and practicality. Many people don’t care much about obscure arguments - they care about results. Idealism and innovation are absolutely necessary for a vibrant movement, but they need to be balanced with a dose of practicality in organisational transitions.
- Reinvigorate. The power and attractiveness of the agile movement lies in its values as expressed in the agile manifesto and the declaration of interdependence. The more we can emphasise the dual importance of both doing agile (practices) and being agile (values), the better we can move forward on a more solid foundation.
- Unify vs. splinter. As any movement grows, there are times when it tends to splinter and times when it unifies. We need to bring the agile and lean communities together, rather than continue to splinter further, leaving less space for the idiots to exploit.’
Apply the principles
Enterprises are beginning to expand on their success with agile software development. They’re looking at bringing agile principles and practice to other parts of the enterprise, so providing a strategic opportunity to implement agility at an enterprise level.
Some of the principles behind the agile manifesto can very clearly be linked to an agile and responsive enterprise, showing the approach can be applied outside of simple software development. For example see points 1, 4, 5, 8, 9, 11 and 12 from the 12 principles behind the agile manifesto:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity - the art of maximising the amount of work not done - is essential.
- The best architectures, requirements, and designs emerge from self-organising teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
An evolution of agile processes from software development teams can be reflected in an organisation’s ethos, which leads to those organisations being better able to cope with rapid change and increasing complexity, as well as finding new ways of harnessing creativity and adaptability. This also calls for differing leadership styles - an agile leadership.
This BCS paper looks at agile methods from the point of view of the software developer, the enterprise and the project manager, shows current thinking from analysts and points toward library resource available free to BCS members.