Upon the completion of an iteration of infrastructure work, it is useful for the infrastructure team to apply retrospectives so that the project team can review the infrastructure changes particularly when certain tools are installed. A hands-on review with the project team can highlight the need for adjustments or improvements to the configuration of the tools.
The challenge is to balance the need for speed while establishing the infrastructure we need. If we build too much up front, it may not be what we need and constrain the team in the future. If we build too little it may result in a decrease in velocity.
The benefit of infrastructure envisioning is that in a short timeframe, it provides a high-level framework of the infrastructure for the new product that is aligned with both the high-level requirements and architecture. The benefit of an incremental approach is that it both utilizes the important aspects of minimizing risk and considering value for prioritization while at the same time spreading out the effort of establishing an infrastructure over time based on the JIT needs of the project team.
1. http://www.agilemodeling.com/essays/amdd.htm - Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development by Scott Ambler
2. "Infrastructure Architecture" by Daniel Jumelet, March 2007
3. http://agilemanifesto.org/ - Agile Manifesto
4. "Voluntary Technical Debt", by James Shore, Sept 2006
5. Heterarchy is a term that Panos Konstantinidis suggests as an antonym for "hierarchy".