Infrastructure Envisioning

[article]
Summary:

I have seen many Agile projects, particularly those focused on brand-new product lines, struggle with getting their infrastructure up and running. Much of the reason is the time and effort that is needed to get infrastructure established far exceeds the time it takes to start development using an Agile method, effectively the first iteration. Typically the approach used to establish infrastructure is ad hoc and often not always aligned with the needs of the project. Therefore, a task must be identified to establish infrastructure. The question then is, how to best approach the establishment of infrastructure for a project using Agile methods? We do not want to build excessive infrastructure that may constrain us in the future yet we want to establish enough to keep us stable and productive.

 

Infrastructure Challenge
Infrastructure refers to the technical structures such as environments, tools, and the processes that are used to support the product. Examples of infrastructure-related components include the servers, network, development, requirements, configuration management (CM), build, defect tracking, and test tools used within the product development context. Infrastructure for a new product typically gets defined and established within an architecture and infrastructure phase of the first release when following a traditional methodology. The challenge is how do you establish infrastructure for a project following Agile methods when you must shift from a phased approach to an iterative approach and when the infrastructure personnel work in a hierarchical organization?

Considerations for Approaching Infrastructure
Let us start with some key considerations that will help frame an approach better suited to Agile methods:

  • Applying Agile implies that we move away from big effort up front (BEUF) for establishing the infrastructure and instead evolve it over time and so that it is not an overwhelming effort for the first project and ensures the infrastructure is closer to our needs as the project team uncovers them over time.
  • The establishment of the infrastructure is dependent on architecture. Architecture helps define the technology stack that is the building blocks for infrastructure.
  • The infrastructure should be constructed to suit Agile. Moving away from phases and hierarchical processes and services where typically much ceremony and permissions are required and instead move toward a more continuous and heterarchy world (i.e., opposite of hierarchy, where the world is flat and people are empowered at the lowest possible level) where knowledge and function and the constant building of such are the mode.
  • The project team using Agile methods must continue their development work to deliver functionality and business value per Agile principles as the infrastructure gets incrementally built.

Pages

Tags: 

About the author

Mario  Moreira's picture Mario Moreira

Mario Moreira is a Columnist for the CM Journal, a writer for the Agile Journal, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998. He has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at http://cmforagile.blogspot.com/.
 

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01