Agile Development Methodology for IT Infrastructure Projects?

In the past, many of the Scrum Masters/Project Managers leading Infrastructure projects have tried to implement Agile development methodology for their projects or may consider the process for future projects. Since my engagement with Infrastructure projects, I have been debating whether to follow the Agile practices given the specific characteristics of these projects. There are many key differences between Application Development and Infrastructure projects which makes it a challenge to adopt Agile methodology, and should be considered before taking action.

Unlike Application Development projects where Agile development methodology would suit the majority of your projects in the modern era, infrastructure projects require extra caution and due diligence in picking the right methodology. Being an Agile evangelist and also playing the role of an Agile coach and mentor, it may be surprising that I am writing this. However based on my experience leading infrastructure projects, there are other factors that need to be considered. Take the example of a Disaster Recovery project, while some of the deliverables can be broken down as stories/tasks, there are quite a few which would still remain at the Epic level and span across multiple sprints.

Some of the key features of an Infrastructure project that I have noticed that differentiate them from the new era application development project are

  • Defined scope of project with a steady backlog
  • Sequential and long running tasks, such as the setup of a server, followed by scan/hardening and configuration all done by a system admin. These tasks/backlog items cause multiple sprints that are hard to breakdown into stories which can be accomplished within the same sprint
  • Exploratory in nature and requires lot of triaging between various teams, whereas in application development each developer mostly knows what they are doing to finish the story
  • Tasks and deliverables are not iterative in nature
  • Difficulty in achieving shippable product at the end of each Sprint

Given the above points, it becomes very critical for a good assessment of the project for Agile and to define the right approach. For instance projects such as Server upgrades, Disaster Recovery, Backups are not the right candidates for Scrum or Kanban. However some of the Agile discipline such as daily standups, frequent demos, task board, acceptance criteria and burndown can be used. It may be useful to introduce the breakdown of your overall project plan into Sprints and to track the accomplishments within these Sprints. Well, by doing the above many of you may think that you are following the Scrum framework for Agile; however, there are key salient components of a Scrum framework which may not be met for the above mentioned Infrastructure projects — such as Prioritized Product and Sprint backlog, potentially shippable product, or at least end to end completion of stories/tasks within the same sprint.

I have come across few Project Managers/Scrum Masters who claim to follow Agile Methodology with Scrum framework for their Infrastructure project. I’d recommend that you question them if are they really following Scrum framework with these two simple questions

  • Do you have a Prioritized Product and Sprint backlog?
  • Do you have a potentially shippable product, or at least end to end completion of stories/tasks within the same sprint?

There could be few projects within the Infrastructure portfolio which may be able to truly follow Agile Methodology. Some examples would be Automation framework for server setup, Environment Refactoring for Performance Improvement, Infrastructure Monitoring. These are projects where the backlog can be prioritized and also salient features can be deployed at the end of each sprint.

These are just my thoughts based on my mixed experience with application development and with Infrastructure projects. I would like to conclude with the key takeaways from this article.

  • Make sure to do your due diligence in selecting the right implementation methodology for the Infrastructure project. Discuss with others if you are having a doubt
  • The vast majority of the infrastructure projects may NOT be ideal candidates for Agile Methodology
  • DO NOT claim to follow Agile when you are only following some of the agile discipline and the project methodology is still waterfall.