Over the last several months, I networked with companies who had implemented agile (primarily smaller ones) and asked what some of their agile challenges were. Interestingly, I heard from several companies that getting their infrastructure set up was a challenge when trying to get agile going, as Agile had instant demands on the infrastructure. I immediately had a flashback to 1998; I had a similar experience when implementing scrum. The ScrumMaster had the developers coding in the first sprint (as is expected), yet there was no real infrastructure or CM system to speak of. What was there was clunky at best. Coding was quite the mess and after the first release came out, the next release had a lot of regression. This all revolved around the lack of focus on infrastructure. Interestingly enough, even after 10 years, the infrastructure challenges persist.
Given that when applying agile you start coding almost immediately, how do you get the infrastructure set up quickly? Even when you implement an iteration 0, it still does not leave you with much time. When you are in an established company, this may seem like a no brainer since it may appear that infrastructure is plentiful. However, even in established companies when resources are tight, getting infrastructure set up for a new product is challenging. When you are small company and have little to no funds, what are your options? By moving the development action to the beginning as agile does, you squeeze the time it takes to get your infrastructure set up. What do you do now?
This article focuses on this area and what I believe to be a gap in the coverage of topics for agile methods. While it is not an agile practice or method per se, this article attempts to support agile teams (particularly the new ones) by offering considerations and options for establishing infrastructure on new product lines where none previously existed.