Traditionally, enterprises tackled large IT transformation projects such as OS migrations, infrastructure upgrades, or email migrations, one at a time in what is commonly termed a "big bang" approach.
These projects would often take between 12-36 months and were repeated every five to six years — or only when absolutely necessary. After years of Business As Usual (BAU) running, project sponsors would quickly add other items to the scope, resulting in project delivery that almost always went over budget, past the due date and cost a fortune.
The Traditional IT Transformation Process Is Broken
The problem with this was multifaceted: general IT hygiene was deteriorating, end users were starved of new productivity features until the next upgrade (years later), and everything else stalled during the upgrade project. Add in the increasing complexity of managing new technologies and platforms (e.g., virtual and cloud environments), business units going rogue and creating huge shadow IT problems, and the constantly growing cyber security threats, and you have got yourself a huge mess.
And this does not even address the pain caused by the upgrade process. I am sure you were, at some point or another, part of an IT Transformation project, e.g., upgrading to Windows 7, and remember painstakingly sorting through tens of thousands of data rows on an Excel Spreadsheet or hand-cranked database. This method was not only tedious, resource-, time-, and manual labor-intensive, but also incredibly frustrating.
In other words, the traditional IT Transformation process was broken, but there wasn't really any other way.
Evergreen IT & Agile Development
Over the past four years, we have talked a lot about Evergreen IT: how it replaces the traditional IT Transformation process, why it should be part of your long-term IT strategy, how to plan for a successful Evergreen IT deployment using the example of Windows 10 Servicing, and much more.
If you haven't read any of those articles yet, I very much encourage you to have a look, but essentially Evergreen IT is a new approach to managing your IT. In contrast to traditional one-off migration efforts, Evergreen IT continuously upgrades and improves your IT estate, whether that is your OS, email system, applications management, hardware, servers, or other infrastructure, in small iterative cycles.
If you are now thinking, "That sounds familiar", you are right. You could define Agile Software Development as a continuous, iterative process driven by testing and adapting.
As you probably know, the Agile Development process consists of six phases: initiate the project and define requirements, plan, design, develop, release, and track and monitor. While these steps are somewhat flexible and evolving, they always follow the basic principle of breaking down a larger project into smaller steps that can be incrementally and iteratively developed. They can also overlap and be run in parallel.
There are many benefits for projects developed using the Agile methodology:
- Improved productivity and tighter end-user feedback loops and iterative changes made based on that feedback
- Reduced project risk ("Pilot & Prove" instead of the traditional "Falter & Fail")
- Faster feature releases, which lead to earlier business realization and tangible value-add
- Better collaboration and transparency enjoyed by IT and business units, resulting in increased trust and higher chances of a successful project outcome
In fact, according to a study completed by Dr. David F. Rico in 2009, agile projects were more successful than traditionally developed projects:
- 41% were better in terms of overall business value
- 83% showed quicker time-to-market speeds
- 50% were higher in quality
- 50% were less costly
- 83% were more productive
How Does Agile Development Fit Into Evergreen IT Management
Now the question is this: how do Evergreen IT and Agile Development fit together? In my opinion, they go hand-in-hand in the sense that Agile Development is an ideal framework for managing your ever-evolving Evergreen IT landscape.
While most of our clients still use a Waterfall-based project management approach that is planned out and visualized using a Gantt-Chart, you can easily take and use the phases and tasks listed in our Windows-as-a-Service project plan template as the foundation for task backlogs and sprint or cycle planning.
However, the biggest difference in regular software development using agile is probably timing. Traditionally, Agile sprints only last about one to two weeks with daily stand-ups, but when using this methodology, your Evergreen IT project phases might take a bit longer than that. Again, the Windows-as-a-Service project plan template will give you an estimated time requirement per task. I recommend breaking down longer tasks into smaller chunks to keep them manageable and the project capacity consistent.
Now that we have looked at how Agile Development can be used to manage your Evergreen IT in general, in the next article, I will take a closer look at how to adjust the Evergreen IT management process in an Agile way using Juriba Dashworks.