Is it possible to use agile methods for large IT infrastructure projects?

I am working on a large project where the development team uses agile methods, while the infrastructure (which is where I am involved) is being established using waterfall methods. We recently debated whether agile could be used throughout the project, but failed to reach a conclusion. If anyone has practical experience, what were the pros and cons of the approach?

link|improve this question

1  
See Chuck Cobb's answer to [the question on uncertainty][1]. [1]: pm.stackexchange.com/questions/4338/… – Mark Phillips Jan 24 at 4:21
Good reference - I like the comment that it contains, which talks about about macro and micro planning. This could be an interesting way to develop a more flexible approach to infrastructure project management than I have seen to date. – Iain9688 Jan 24 at 19:14
How this will help full in mobile application development? i mean is there any document or startup process document? – fasttrack Mar 20 at 10:23
feedback

4 Answers

up vote 4 down vote accepted

Agile is a new term on decades old concepts. I've blogged on this very topic recently with a blog titled "Gorillas can be Agile with any project" (PMI recently reposted this on their Agile Community of Practice).

My blog isn't just an opinion. I used agile principles at the program level in a hardware company that had both Japanese business practices and a legacy of IBM practices. I helped the team increase products shipped per quarter by orders of magnitude. All I did was focus on agile values and worked to make the organization a team.

And when every anyone says to me "Agile doesn't work in hardware companies."

I just respond with one word...

"Toyota"

link|improve this answer
1  
Thanks for this. The blog is a timely reminder that Agile is a term that is often (incorrectly) assumed to mean "Scrum", and on that basis, it seems that there is every reason to look at Agile for infrastructure. All that remains is to understand the details of what will work and what wont... and that's where the fun will start. – Iain9688 Jan 26 at 20:56
+1 over and over again – Jesse Jan 26 at 22:01
feedback

The big difference between software projects and infrastructure is lead time. For example if you need to build a new datacenter it might take years. Even something as simple as ordering disk drives right now may be long lead because of the floods in Thailand.

Agile is great, and if you think about it, that is what using cloud servers is all about. For a firm that operates primarily on hosted cloud servers, then I see no reason why agile methods would not work. On the other hand if you keep your infrastructure in house then you need to insure that you do longer term planning to accommodate lead times.

link|improve this answer
There could be lot of cross-vendor coordination issues, too. You are likely to have multiple vendors delivering major pieces in a infrastructure project that might be more rare in software development project (i.e. the SAN equipment can't be delivered and tested without power, cabling must be done before equipment delivery, etc.) – SBWorks Apr 3 at 10:38
feedback

Add to the lead times, last minute changes to architecture can be quite costly compared to either software projects or Toyota. Most internal IT organisations do not/cannot have a warehouse that is always full of parts. In Toyota (even if they do have inventory that comes in Just In Time like Boeing) they become part of a finished product that goes off the factory.

Data Centers can go easy on this as the equipment can be re-used for another project/customer easily.

link|improve this answer
+1 Good point on how the cycles can be shortened by "pooling" the unused resources of the data center. – Danny Varod Apr 3 at 9:21
feedback

Hardware infrastructure can be implemented in phases.

Estimate how the requirements will grow over time and see if you the infrastructure you require can be implemented in phases. E.g. Start with 10 servers, add 10 more and etc.

This can be managed using an iterative life cycle.

If the phases are short enough then you can use an agile life cycle (agile is based on shorter iterations than the original UP).


Software infrastructure, as any software, can be developed using an agile life cycle. However, it is important to keep the end vision intact, so that the software will be able to function as an infrastructure.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.