Agile software development is not new, the principles have been around for many years but changes in the platforms being used and the need for quicker return on investment means that it has become core to the deployment of services in many businesses. There are however challenges that implementing an Agile approach has, some of which are about understanding the business requirements as much as the challenges that innovative working practices provide.
Over the next 10 weeks we will publish common questions about Agile/SCRUM and our expert Agile expert Lesley Dempsey, Technical Design Authority at AutotestPro, will provide answers and insights on each.
What is Agile?
There are multiple methodologies that can be used to implement Agile but there are some key priciples that come from the overall approach. The following is from commonly available sources.
Individuals and Interactions more than processes and tools - Self-organisation and motivation are important. It is better to have a good team of developers who communicate and collaborate well, rather than a team of experts each operating in isolation. Communication is a fundamental concept.
Working Software more than comprehensive documentation - Working software is more useful than presenting documents to clients in meetings. It is better to comment the code and to keep external documentation light, rather than heavy documents that take a lot of effort and quickly become outdated.
Customer Collaboration more than contract negotiation - Requirements cannot be fully collected at the beginning of the software development cycle, so it is better to directly involve customers and users so that detailed requirements can be progressively elaborated and adapted based on feedback.
Responding to Change more than following a plan - Agile software development methods are focused on quick responses to change and continuous development.
Question 1 - What is the biggest challenge of using Agile with ServiceNow development?
There isn’t one related to development!
ServiceNow is an ideal platform to develop using an Agile methodology , the way that ServiceNow is architected makes it the perfect approach.
Specifically that way that ServiceNow uses update sets to deploy functionality means that it is easier and has greater accountability to deploy to staging and live environments with full roll back facilities if anything needs to be backed out.
If there are challenges that exist then these are around embracing Agile and automation. In our experience many companies are restricted by having the confidence to roll out the features and updates at the end of sprints. Some of this comes from the inability to test the system in a quick efficient manner.
If you can automate more of the stages of the Agile lifecycle then the features will be rolled out quicker. In this specific context we have considered automated testing as a core step. Testing takes a lot of time, especially regression testing, and it should be aligned with the requirements that are originally collected.