What are agile principles?
Agile Principles present an approach to software development that emphasise collaboration, flexibility, and customer satisfaction.
Some managers say ‘Agile’ to excuse their unstructured ways of working, or to justify a lack of planning, or their vagueness about roles and responsibilities. In fact, Agile is the opposite; it emphasises very clear and specific ways of working and well-defined management methods.
But Agile can also represent a general shift of culture and behaviour to a more rapid, focussed and value-driven approach, which is less easy to define. You know it when you see it!
What’s Agile for?
Agile came from merging ideas of lean manufacture and rapid prototyping, particularly in the software development sector.
It may seem that principles that apply to software development may not work with other sorts of projects. But software development is like every classic project management problem, in that it is complicated and labour-intensive.
If you’ve spent time on software projects, you’ve seen many times how things can go wrong…very wrong!
These challenges drove software project managers towards a set of ideas to try to maximise the chance of success. These ideas were best summarised under the banner, ‘waterfall’: the underlying idea is to get things right the first time by finding problems as early as possible. Problems found late in the project become very expensive and time-consuming to fix.
So detailed project methods emerged to guide a project through a series of phases: a clear delineation between customer and supplier; quality checks at the end of each phase; and an emphasis on progressing only when you are certain you are ready.
What is the problem that Agile can solve?
While on the surface, ‘waterfall’ seemed like a great idea, in many cases this approach drove software projects into a negative spiral of risk-aversion and paralysis by analysis. Many large projects became mired in endless reviews, processes and signoffs.
Projects became very lengthy, sometimes lasting years. A habit emerged wherein project managers loaded in every conceivable requirement from the start, because any requirements not included in the initial scope would probably never see the light of day!
So projects became ever larger, creating further complications, risks, and extended timescales.
But experienced managers know that business requirements change for all kinds of reasons. Even experts often don’t know what they need until they see it. So perhaps detailed, long-term planning is something of a fallacy or at least a more flexible, less bureaucratic approach was required.
What is Agile and how does it help?
In contrast to the waterfall approach, Agile emphasises delivery of value over impressive-looking plans or documents. It emphasises genuine commitment, teamwork, and collaboration from all those involved in the project, rather than formal signoffs and handoffs.
Agile is thus is a shift from detailed planning towards clarity of vision. At every step, the team know that the aim is to deliver working software!
Along the way, Agile project managers expect changes and problems. The team must embrace them and make trade-offs, always focusing on delivering value and progressing towards the vision.
So Agile project management consists of a set of methods to:
- Document the vision and establish buy-in
- Facilitate structured collaboration, incorporating all the necessary people from around the business
- Break up the work into smaller pieces, which can be replanned as priorities change
- Empower technical experts with the tools to deal with rapid change
- Deliver working software as soon as possible
- Provide incremental functional additions in a series of managed activities, often called ‘sprints.’
What are the problems with Agile?
Agile is not a panacea. Sometimes it simply replaces one problem with another.
Specifically, companies embarking on Agile projects have to accept that plans may not be clear from the outset. And this approach may not be commercially or culturally acceptable.
It can also be the case that the idea of incremental improvements is simply not appropriate. In some cases there is no value until the project is finished, you cannot live in a half-built house!
For simple or well understood projects, Agile can be an unnecessary encumbrance, creating a meandering journey to the finish line. Sometimes it’s best to let the team create a plan, get their heads down, and get it done.
Adopting an Agile culture
There is perhaps a wider point that companies should adopt Agile thinking to other aspects of their work. Many spend time planning things that never happen, creating things that have no value to customers, or indulging in ‘blame-based management.’
Creating an Agile projects capability can break through these kinds of problems and create a far more effective culture of rapid value delivery for a forward-looking 21st century business.
The 12 Agile Principles
The following principles are from the Agile Alliance. Have a look and see how they may (or may not) apply to your mid-market business and its current projects.
- 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.
- Businesspeople 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-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
At Dekra, we reduced software development to rapid seven-week cycles. Dekra’s Ops Director, Alex Underwood, said “During the period we have been working with Freeman Clarke, we have invested in IT products to bring ever higher levels of value and service to our clients. This has paid off in our market expansion and diversification.”
Why Freeman Clarke?
Freeman Clarke have long experience in IT and tech utilising principles of collaboration, flexibility, and customer satisfaction. If you’re a CEO considering how Agile Principles can help your mid-market business – perhaps your teams aren’t communicating well, or you’ve got a stuck bespoke project – Contact Us for a low-pressure chat.