I have seen many successful development projects and some failures. One very dangerous thing for a project to do is not to enlist an excellent coach or champion to help the regular project staff with new technologies.
With innovation cycles getting shorter and shorter, few projects can be handled completely within the project team’s comfort zone. There’s always something very big, very new to tackle: a new release of the server and/or IDE, a new user interface technology such as Web Dynpro or Adobe Flex, new tools such as NetWeaver BPM or BRFplus, newly implemented standards for web service authorization, and so on – the list of what NetWeaver-based project teams are currenty facing could go on and on.
Clearly, with much of the things you’re working with being new or at least recently updated, it’s okay to be out of your comfort zone. Of course it helps to have a few software veterans on board who have demonstrated the skill to find their way into any new matter very quickly, but even they will occasionally be out of their depth when working with new tools and programming techniques.
The new stuff is both a blessing and a curse. On the one hand, your project team may be eager to adopt state-of-the-art technologies and concepts. (Consider yourself lucky if they do!) The new tools were probably designed to save you a lot of manual labour and will do just that if properly employed. Developing everything you have ever dreamt of will be a breeze!
On the other hand, best practices may not yet exist or be available for the new stuff, and your project team has little or no relevant experience to make up for the lack of publicly available best practices. The tools may still be buggy, and both documentation and community knowledge such as wikis or forums will be sparse. Combined, these risks can slow down your project significantly and even bring development to a halt.
Fortunately, these risks are very well manageable and the potential problems are avoidable. There are a number of things you can do to control the risks. Frequently, the only thing project managers can think of is to spend a lot of money on classroom training, which turns out useless in many cases. So what else can you do?
These measures will solve 95% of your problems.
Implementing these matters will help a lot, but what about the final 95%? What about best practices, which are frequently hard to find? What about the problems in your own code that noone has been able to locate, let alone resolve? What about the occasions when you see a number of possible directions you could go into but you have no idea which one is right and which one will lead to a slow and painful death?
Only an excellent coach can help with that.
Fig. 1: Coach
Of course you can’t staff your entire project with top champions. They are expensive and hard to find – you’re lucky if you can get your hands on one top coach. So how much do you need? That’s hard to know exactly in advance and depends on the particular project, but here are a few hints:
These rules of thumbs may turn out useful in determining how much assistance you require and which modus operandi you will use for working with them. In a larger project, you may be able to get one or two top experts to be permanently on site, while in other projects you may arrange for bi-weekly jour fixes or a few spot consulting days to be booked on short notice.
Who could forget the immortal words of Cosmo Castorini in the movie “Moonstruck” with Cher and Nicholas Cage:
“There are three kinds of pipe. There's aluminum, which is garbage. There's bronze, which is pretty good, unless something goes wrong. And something always goes wrong. Then, there's copper, which is the only pipe I use. It costs money. It costs money because it saves money.”
Fig. 2: Cosmo Castorini
Some project managers may dread the costs of hiring a champion who costs 50% to 100% more than a regular staffer on the project. They’d rather add a few more newbies and hope that two or three newbies make up for one top expert. That is utterly wrong.
The coach is the person who solves the problem which will otherwise keep an entire project team idle for several days. The coach is the person who shows ten people how to perform a standard task (which will be repeated many times) in half the time. The coach prevents the project from wandering off into dead alleys by providing guidance throughout its course.
Yes, coaches cost money. They cost money because they save money. So if you haven’t recruited one for your project, go ahead and do it now.