Today I witnessed/suffered a common yet unresolved problem, the lack of "feeling" between developing & infrastructure teams. It's always the same, on one side the developers and on the other one the "infrastructurers" (I'll call them this way). I'm on the developer's side, but I'll try to give an impartial view of the problem from a management view, although there is an important human factor in the problem (mainly because of the lack of knowledge of each other's work) .
Why naming the post "when process and project collide"?
Developers usually develop projects, let them be new products or new versions which can easily be taken as projects. The PMP definition for project is "A project is a temporary endeavor undertaken to create a unique product, service or result".
Infrastructures usually develop processes, they also develop projects such as migrations and so, but most of the time is "process time". A process can be defined as an "repeatable, on-going, customer-driven activity without a clearly defined end", infrastructure maintenance is clearly a process.
Well we then have people with two different ways of thinking, and they must work together. They always collide! I don't think all developers are wrong or all infrastructurers are wrong, they are simply not as well managed as they should. Here is my humble opinion about the issue:
Most of the time the higher view of the process is: The CTO decides that the enterprise needs a new CRM, so he talks to the development people to develop the new CRM, all the meetings, etc are usually held with the dev people, and when the project is almost finished there is a call to the infrastructure people saying "hey Joe, buy and install three new servers for the new CRM", "What CRM?", "The new CRM we are deploying next month". In that moment the "process biased mind" raises an exception ;) the peace is broken, so the war begins.
This can lead to the impression (very common) of Infrastructure Team not being aligned with the enterprise objectives, I think they are aligned most of the time (there are many times that I think the opposite I must confess), but most of the time they seem frustrated because they aren't informed.
It seems that the infrastructurers are not a part of the project until it comes the deployment time, then two weeks before the project ends, someone says "hey, you've got to install this on your servers", then they get angry and so on. I think that the participation of the infrastructure team in the project must be constant, not on a meeting on the start (if any) and in the last week while deploying and troubleshooting. This is not a fault of the infrastructure team, is a fault of the project manager. If they knew what the project is about and knew it, it would be easier.
Why there is not an infrastructure team member assigned to every project? It will not be a 100% time task, maybe it will be enough with 10-15% during most of the project. He/she will help with deploys and can detect defects and "policy violations". For example, things like connecting to an Internet webservice from a server, can be a real problem in the "D Day" if nobody in the infrastructure side knows about that need and the firewall is not properly configured, the presence of such a person will make such things easier to detect and solve.
Additionally, a common feeling about infrastructurers is that they take the "If it works (or at least it does not fail very much) do not touch it" lemma to the extreme, I'm convinced that 90% of them would keep Exchange 5.5 and Windows NT 4 working now (and some of them do that), and when a new product is chosen by the "higher levels of the company" they take a defensive attitude. They think as "process-doers", they usually hate change. On the other side, if it were for the developers, every program will be developed in the last available technology, there would not be two systems using the same set of technologies. When the technology chosen for the project is 3 years old they feel frustrated.
In conclusion, I think that infrastructure team should be more involved in the project development, and we all should promote it, everyone's life would be easier!