What is Agile Development? An Introduction Posted by: Colin B on 04/08/2014
If you’ve ever been involved with a software project, you may have heard the term "Agile".
Agile development is a method of delivering software that puts people at its heart; bucking the trend set by more traditional approaches to software development that can force you to follow a stringent and often overbearing process.
In traditional software development, often referred to as a Waterfall process, the project follows a strict set of phases. Each phase has its own gateway that needs to be passed before moving on to the next phase. The first phase is often the completion of a full analysis of all of the features that you want to be delivered during the project. Once complete, the outputs of this analysis must be signed off and effectively locked down before a single line of code is written.
Delivering projects using Waterfall can seem like a safe option. Clear, fixed, and agreed phases give you a sense of confidence in what you’ll get, when you’ll get it, and what it’s going to cost you. This confidence, however, can be misplaced. Inevitable change is in the very nature of project management. Unforeseen challenges can and will arise, and when they do, they’re often difficult to negotiate into your previously agreed scope.
It was through the realisation that inflexibility hinders successful project delivery that the Agile movement was born; creating a series of processes, techniques, and approaches that, when used appropriately, can transform your project; giving it the flexibility it needs to meet unforeseen challenges.
Agile development is often seen as a development framework, but more than that, it's an attitude; an approach that empowers your team to adjust to the changing demands of the project and deliver the best solution possible.
At Screenmedia, we base our Agile techniques on the development methodology Scrum. If you’re not familiar with Scrum, it’s actually a very simple process. Rather than approaching a project as one large deliverable, it is broken this down into a set of much smaller iterations called Sprints. Each Sprint lasts for around 2 weeks. During this time, the development team will deliver fully a set of high priority features as usable, working software.
Rather than agreeing the minute detail of every project feature before staring development, the attention is focused on those features that provide the highest return on investment; the features that users really want to get their hands on, and those are the features delivered every 2 weeks.
The ability to reassess and change the course of your project after each Sprint is easily the most compelling advantage to this approach. That’s not to say that you’ll completely change the goal of the project half way through, but Scrum gives you the room to rethink the project’s scope based on user feedback, or bring forward the delivery date to meet a new deadline.
Agile development is often seen as a development framework, but more than that, it's an attitude.
In many industries, particularly the public sector, a Waterfall process is the go-to method of development. However, in recent times a shift has emerged in the market with many (sometimes quite surprisingly) organisations moving towards an Agile frame of mind. For example, The US Department of Defence recently announced its program of DoD IT Modernization in which Agile methodology will become a key priority for software delivery. The UK Government’s Digital by Default Service Standard sets out a brave new vision of transforming their large, inertia-prone institutions to deliver in a more Agile way.
So, is Agile development the method of the future? Well, yes and no. For some projects with very little chance of alteration in the development process, a Waterfall approach may still be the best path to take. However, with even governmental bodies moving their digital strategy to align with an Agile development process, you can be sure that this methodology will become more and more prevalent in the near future.
If you have the opportunity to work in another, more agile way, you should. We promise that you won’t be disappointed.
Screenmedia is a design, development and innovation practice. We combine outstanding design and innovation technologies to create human-centred solutions. Get in touch to see how we can support your digital projects.
Back to blog