What are Agile Principles?
Agile Principles present an approach to software development that emphasizes collaboration, flexibility, and customer satisfaction.
Some managers use the term “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 emphasizes very clear and specific ways of working and well-defined management methods.
But Agile can also represent a general shift of culture and behavior to a more rapid, focused 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.
Software development may seem like a specific challenge, it may seem that principles that apply here may not work with other kinds of projects. But software development is like every classic project management problem, in that it is complicated and labor-intensive.
If you have spent time on software projects, you have seen many times how things can go wrong…very wrong!
These challenges drove software project managers towards a set of ideas to try to maximize the chance of success. These ideas were best summarized 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 expensive and time-consuming to fix.
So detailed project methods emerged to guide a project: 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 Problems Can Agile 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 bloated, 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 needed.
What Is Agile and How Does It Help?
In contrast to the waterfall approach, Agile emphasizes delivering value over impressive-looking plans or documents. It emphasizes 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 knows 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 must 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 is best to let the team create a plan, get their heads down, and get it done.
Adopting an Agile Culture
There is a wider point, however, that companies might 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 problems, creating a 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 website. Look them over and see how they may or may not apply to your mid-market business and its current project.
- 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 maximizing 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 behavior 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 has extensive experience in software development utilizing principles of collaboration, flexibility, and customer satisfaction. If you are 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.