What is agile software development?

Agile software development is a set of values, principles and practices. It is based on iterative and incremental development, where requirements and solutions evolve through collaboration between customers, stakeholders and self-organizing, cross-functional teams.

The agile manifesto

In 2001 seventeen people met to discuss the similarities of their approaches to successful software development. The result was the agile manifesto. It states four values and twelve principles that capture the essence of what is now known as agile software development. Of course, you can read that in detail there. However, let me re-phrase the key agile values here:

  • You need Individuals and interactions to get value on processes and tools
  • Working software is more valuable than writing comprehensive documentation
  • When having intense collaboration with the customer you do not need to negotiate heavy contracts
  • You should have a plan, but your processes shall enable you to be responsive to change and adapt accordingly

Why might you want your organization to be agile?

Your customers aren’t delighted? Costs overrun? The schedule isn’t met? The software developed isn’t really what’s needed or it’s too late? Know-how isn’t spread across the team or the organization? There can be many reasons for this. Agile methods can help to reduce these risks.

Agile software development is a means towards delighting your customers. It aims at building business success through frequent and sustainable delivery of value to your customers, your stakeholders and your organization. This can be achieved by delivering software your customer really needs and by building an organization that can deliver high quality regularly. Through retrospectives the teams find ways to enhance their capabilities and to achieve sustainable pace. An engaged customer plays a vital part in this endeavour, too. The customer can help the teams to focus on the most valuable outcome and provide regular feedback on the progress and the changes needed. In agile projects, the customer will receive working software early. In some environments this means that the customer can use the software to gain some return of investment even earlier than in traditional projects. All this is designed to increase customer satisfaction.

As project manager and project management consultant at Siemens AG Austria I experienced hands-on the advantages of this approach. Customers and line managers were satisfied and the team members stated that they wouldn’t want to work in another way again. I gained similar experiences in other organizations that I worked for since.

What can I do for you?

Agile software development implies a new philosophy in project management. All team members, stakeholders and customers must know the rules of success in agile development and share the mindset necessary to be able to work like this.

Therefore I offer the following services:

  • Consulting to establish agile organisations and teams, choosing the best methods in the respective environment and doing all the things necessary to start
  • Coaching and consulting for teams, stakeholders and customers already working and having troubles
  • Coaching for individuals and teams during a longer period of the project
  • Training in agile techniques and practices

If you have large projects, where you need more than one consultant, I also act as part of a network of agile coaches with whom I work together regularly.