At newicon we’re big proponents of Agile development. It’s the approach we use when it comes to software development. But what is it? And what other approaches are there? There’s a lot to talk about here, and it’s a hugely important part of what we do, so let’s get cracking…
Agile Software Development is an approach to software development that puts emphasis on the ability to respond to change in an environment where change is likely to happen, i.e. a software project!
It means taking the time to understand the true requirements of a project, then taking the time to regularly reassess what’s happening to make sure that you’re still moving in the right direction. It’s adaptive, and as a result it’s less risky than other processes, as it’s always looking to solve problems before they become actual risks.
Agile was first popularised in the Manifesto for Agile Software Development in 2001. The manifesto states that Agile values:
And based on that it suggests 12 key principles of Agile Software Development:
Agile Software Development isn’t really a framework, no. It’s more of an umbrella under which sit many frameworks and methodologies. You could call it more of a frame of mind, but that would miss the many tried and tested frameworks and methodologies that make up the Agile approach.
Scrum, for example, shares many similarities with Agile, but it is actually more of a process framework that has been folded into Agile. It’s under the umbrella. The same could be said of Extreme Programming, or Feature-Driven Development.
An Agile software project is made up of a series of sprints (sometimes called iterations), which is a short period of time where multidisciplinary teams get together to produce a working product which can then be tested and evaluated.
Each sprint might not produce the final product, but it will produce a useable, essential part.
It’s because of this approach that risk is reduced and the actual speed of development is faster than other approaches.
The most common alternative to Agile is the Waterfall for software development. Waterfall is essentially a very linear approach to development where you decide your goals at the start. You then plan your phases of development before completing those phases. At the end you’ve got your product which then needs to be tested and maintained.
There are other methods, such as Continuous integration, Incremental development, Rapid application development, Spiral development and more - but these are less well know and not as well developed (excuse the pun), so we won’t focus on them here.
Waterfall is what you might call the traditional approach to software development, and you could also reasonably say that it’s now pretty outdated.
Here are some of the pitfalls of using the Waterfall approach to software development:
Here at Newicon, we’ve always been proponents of the Agile approach. It actually aligns perfectly with our user-centric, problem solving ethos.
As a software house that also offers design as a service, we also find that Agile fits very well with our design process - in fact, our designers are integral to getting the Agile approach to work in the best way possible.
Our multidisciplinary teams are made up of designers, developers, UX experts and even digital marketers (if it’s a product that needs to be marketed). This way we know we’ve got all the angles covered when it comes to solving problems and finding solutions.
If you're interested in findoing out more about our bespoke sofware development service, or about how Agile can make sure your project is a success, then get in touch today
Subscribe to get our best content. No spam, ever. Unsubscribe at any time.