Agile. Agility. What really is agile? What are the values, philosophy, mindset or agile way of thinking? What agile methods, tools and techniques are available? What are the common agile roles? These are some of the topics we will explore in a series of articles looking at demystifying agile.
Here we look at the Agile philosophy and the twelve principles of the Agile Manifesto.
The Agile Philosophy
The word ‘philosophy’ can be simply defined as a way of thinking about the world, the universe and society. In effect, to ‘be agile’ involves adopting a new way of thinking or mindset that is based on agile values and principles.
This philosophy or mindset then guides your holistic approach to agile. The agile mindset needs to be internalised (e.g. welcoming change, delivering frequently) and it should steer the selection and implementation of agile practices. Being agile isn’t about simply applying tools and techniques or following a methodology. Applying agile philosophy and principles to how you use agile methods changes not only the approach, but also the overall effectiveness (and success) of the practices.
The Twelve Principles*
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Hint: It is all about the customer and delivering value early.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Hint: Embrace change. Be flexible, continuously update and prioritise changes into the backlog of work.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
Hint: Deliver frequently. Early feedback is invaluable and delivering within a short timeframe keeps the customer engaged.
- Business people and developers must work together throughout all work.
Hint: Work with the business – it’s not us versus them. It is about working collaboratively.
- Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
Hint: Motivate and empower people. Give people the autonomy to organise and plan their work. It is not about micromanagement.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Hint: Face-to-face communications where possible. Successful communication is not all about emailing!
- Working software is the primary measure of progress.
Hint: What gets measured gets done. Measure working solutions and results.
- Agile processes promote sustainable delivery. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Hint: Maintain a sustainable pace, otherwise people get ‘burnt out’. Work-life balance is important.
- Continuous attention to technical excellence and good design enhances Agility.
Hint: Keep the design clean, efficient and open to changes.
- Simplicity − the art of maximising the amount of work not done − is essential.
Hint: Keep it simple. Seek the simplest thing that could possibly work.
- The best architectures, requirements, and designs emerge from self-organising teams.
Hint: To get the best from people, allow them to self-organise. It should be all about the team.
- At regular intervals, the team reflects on how to become more effective and then tunes and adjusts its behaviour accordingly.
Hint: Reflect and adjust regularly. It’s about continuous (and applied) learning.
For more information on Agile Project Management (AgilePM®) certification or if you’d like to speak to one of our Professional Development Consultants, contact us today on 1300 70 13 14.
* Principles behind the Agile Manifesto. Accessed via http://agilemanifesto.org/ on 14/12/2018.