Agile is a common ‘catch all’ word in business at the moment but what captures the true meaning for me is this: It’s the description of a movement where a culture of change is welcomed and the customer is the focus of the work. Secondly, its intent is to bring development into alignment with business needs.
Development practices work on sets of principles, often created through experience and preference but the Agile framework has a set of 12 manifesto principles.
As an advocate of the methodology, it’s hard to prioritise between the principles and their strength lies in using all 12. Alistair Cockburn is a signatory of the manifesto which include:
- Customer satisfaction through early and continuous software delivery – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
- Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
- Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
- Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
- Support, trust, and motivate the people involved – Motivated teams are more likely to deliver their best work than unhappy teams.
- Enable face-to-face interactions – Communication is more successful when development teams are co-located.
- Working software is the primary measure of progress – Delivering functional software to the customer is the ultimate factor that measures progress.
- Agile processes to support a consistent development pace –Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
- Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
- Simplicity – Develop just enough to get the job done for right now.
- Self-organising teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
- Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills and techniques help team members work more efficiently.
It’s always asking a lot for a business owner to understand precisely what their needs are from the beginning. To design a system that will run your business processes, requires incremental and open architecture development. Our Agile projects run on 2 – 3 week sprints where we set a development goal and ask for you to view and test. This means that you don’t need to create a spec of the detail, but rather to know your end goals and together we work towards achieving those. Through the Agile approach you will experience equity, guidance and participation.