Wouldn't it be great if your IT systems could keep pace with changes in your business? Well, that's what agile software development gives you. It's an incremental approach to developing and deploying IT that shortens the software development lifecycle drastically. That means you can deliver and deploy production quality code to support new business processes and features every few weeks rather than every few years.
You can choose from a number of agile methodologies – such as Scrum, Lean Software Development and Extreme Programming. Features of these methodologies may include:
- short intervals between each release of production code. These intervals typically last one to four weeks and are often referred to as "Sprints".
- high levels of customer involvement. Project managers work continuously with business users to identify, define and update requirements – often called "user stories" – and prioritise them.
- a clearly defined programme of work for each cycle. The new features and bug fixes to be included in each cycle or Sprint are chosen at the start of each cycle and are driven by the current backlog of prioritised "user stories".
- testing runs alongside coding. Unit tests are built and checked into the code repository at the same time as the code. A failed test means a failed build, so you quickly find out if new code actually works correctly.
- automated and simplified deployment processes. Taking code from the development environment to production can be a significant bottleneck. Applying continuous integration and delivery technologies and practices can ease this burden by automating deployment tasks.
- keeping technical debt to a minimum, by including time to pay off technical debt in every development cycle.
Adopting agile software will encourage your business to become more innovative and flexible, confident the IT will be in place to support new business processes with less risk. You can see within a few days if you're behind schedule, rather than finding out months down the line. There's also less opportunity for "project creep" to derail or delay a particular release, too. And there is less risk of (eventually) delivering a system against requirements that are, by that point, outdated.
Using an agile development approach, running on the Google Cloud Platform which means our own DevOps team at Ancoris can develop and deliver applications for customers quickly and at scale.
If you'd like to find out more about how your company could benefit from agile development, come and talk to the agile experts in our GCP team.