Summary of open space “smidig 2008″ - agile vs ITIL
October 12th, 2008I did a lightning talk this friday on the problems people are experiencing with agile projects when trying to hand them over to a hosting organization. I have been working with this topic several years, and there is a basic problem in that development organizations are measured on change rate, while hosting organizations are measured on stability. There is a basic contradiction in how management goes about rewarding different parts of their organizations. I still think there is quite a lot that can be done at the process manager level, and I also think this is the harder task to solve.
There was an open space discussion on the topic afterwards. I am summarizing the opinions put forth in that discussion here - and adding quite a bit of myself in the process, I am afraid. This is one of the many problems with rewriting a discussion into a blog post. Caveat lector.
These are the problems the people in the open space wanted to raise as candidates for attention:
- The hosting organization needs to be involved early in an agile project. If we are agile, and want to try to communicate with our stakeholders (and the hosting organization is a major stakeholder in the success of a project - without running our code, our customer gets very little benefit), we actually need to have them present.
- ITIL is a set of best practices, but there does not seem to be a great willingness to change how ITIL is applied in the real world. I have had several people outside the open space come up to me and complain about the paperwork that is ITIL. I have also seen this myself - parts of the ITIL crowd has the same problem some agilists are struggling with: “We are ITIL, therefore all we do is good”. Pointing at the good book (in this case, the ITIL book and processes) and stating how the world should be is closer to religion than engineering. “This is how we do it” is never a valid reasoning when your customers raise legitimate concerns they are having. Instead, the paperwork and/or the tooling in a hosting organization should be changed if that is necessary to improve matters.
- Communication needs to happen. It is not enough to have a hosting resource in the project if parts of the organization places obstacles in the way of communication. There have been examples of project managers trying to apply a military chain of command to the flow of communication - a way of organizing communication that even the military has started to leave behind. What happens if a military chain of command is used is that the project manager becomes a bottleneck, slowing the whole project down.
- The hosting resource should deliver whatever technical infrastructure is needed to get the system into production. He also has a “weak veto” on technologies that will not work in a production environment. This will allow the hosting resource to veto bad moves like building the application in the production environment. If the application cannot be built by the developers and handed over, there is something wrong with the tool chain.
- More importantly, the hosting resource should work as a liaison with specialized technology providers inside his own organization. It is the hosting resource which needs to ensure that the load balancer technology can be used in the way planned (or, in extreme cases, dreamt up) by the developers.
- It should be possible to install the application within the first month of development. This will move all the noise that happens in the chaotic last part of the project forward in the project, where it is still possible to make changes.
- It is almost impossible to give any rules to how the workload should be split between the hosting organization and the development team. This depends on the expertise profile of the teams. Someone needs to be able to build a working tool chain for the developers, and someone needs to ensure that the application can be hosted without excessive costs. One person may be perfectly capable of fulfilling both roles, but such people are not common.
Some people reported that it was hard to get the three parts of an organization - the business owner, the hosting organization and the developers - to act towards a common goal.
One of the hosting people in the open space told stories of how some of their customers had ordered the development team not to bother making monitoring and hosting easy - the customer had paid the hosting people, and he expected them to work for the money. The project failed due to excessive hosting costs - the hosting provider had to pass on their elevated costs to the customer, or go out of business.
Other people in the open space told of hosting organizations where the project manager had told the customer straight out that the time of his technicians was too valuable to be wasted talking to the customer.
Next: What should change in the next project?

