What Is Agile?
In 2010, CIO Magazine identified 3 global technology trends that would change how companies used technology: Cloud Computing, Mobile and Agile. All of these trends have grown into major movements, and while Cloud Computing and Mobile are prevalent and used at a consumer level, agile methods are often confused with being flexible and nimble methods that are light-weight at best, chaotic and undisciplined at worst, rather than disciplined iterative and incremental methods.
Today, over 80% of IT departments say they are using agile methods to deliver at least some IT projects, up from 49% just a few years earlier.
But what exactly is an agile method, and why are so many companies adopting agile methods?
An agile process is one based on short iterations of work delivering incremental value to the end-customer often, preferably at the end of every iteration.
In software delivery, this typically involves teams of 7-9 people working on few small features during short iterations of about 2 weeks, and being done to publish features for customers use.
Iterative and Incremental delivery on short 2 week cycles is often challenging and requires discipline in engineering and management practices. There are many myths surrounding Agile methods.
One of the more common is the idea that Agile means ‘I don’t need to document or plan’. In traditional project delivery about a third of the time is spent planning and documenting the requirements to be delivered so that these requirements can be handed to the delivery and testing teams to work on. The planning and documentation is intended to track and handoff information. In an Agile team, the planning and requirements definition are broken down into small pieces that are collaboratively discussed and agreed with the team. Rather than “all-in” up-front planning at the start of project, Agile teams plan throughout the project delivery. Planning for small increments, one iteration at a time. This allows Agile teams to learn from previous iteration and apply their new found learning to better delivery of software in the following iteration.
Agile builds in a learning-engine that enables a team to expose organizational challenges. It took many years for your organization to come to be this way, it will not magically transform itself into delivering “working software” every two weeks. Management maturity is crucial in being able to learn from their Agile team’s experiments. Recognizing failures as learning opportunities, allow management teams to incrementally peel through the layers of dysfunction that has come to clog your organizations delivery capability. At agile42, The Agile Coaching Company – we pride in our ability to help organizations navigate through the uncomfortable challenges ahead. Much like Samwise Gamjee (Lord of the Rings) we know that the burden is not ours to carry, but we will be right by your side all along the way.