ou're building an e-commerce Web site for a high-profile client using the latest application server. The server and its technology are brand new to the entire computing world, but as your company's senior developer, you're expected to instantly be an expert on them. For one brief moment you wish you'd specialized in ancient Egyptian civilization instead of information technology.
As all Internet developers know, as soon as you build a solid knowledge base in the most current technologies, progress strikes again and your product-specific knowledge becomes obsolete. Technology changes so rapidlyhow can you keep up with it?
At Chicago-based marchFIRST Inc. (formerly Whittman-Hart & US Web/CKS), an Internet professional services company, staying on top of changing Web development technology is one of our challenges. And the Technology Group of marchFIRST's New York office is committed to training its developers in new products such as application servers. Unfortunately, neither managers nor developers were satisfied with the results of traditional classroom training.
The reality of tradition
10 steps to obstacle course success
1. Emphasize technology, not business logic|
2. Exercise all essential skills
3. Create an individual, not a team exercise
4. Involve other functional groups
5. Reinforce company procedures
6. Involve both new and experienced developers
7. Make it platform-independent
8. Use results to provide metrics
9. Gather and evaluate what was learned
10. Motivate your staff to participate
The Technology Group tried hiring outside instructors to come in-house and introduce its developers to new products. But anyone who has tried to clear the schedules of a whole team of busy developers for a few days of training knows how impossible it can be and what a toll it can take on active projects that already have very tight schedules.
Sending developers one or two at a time to off-site training sessions led by the product manufacturers didn't work well, either. There is often a gap between when a new version of a product is released and when the vendor's trainers get up to speed on that version. So classroom training doesn't always cover all the latest features of a product.
Even if the curriculum is up-to-date, the restrictions of classroom training greatly reduce its value to individual developers. For one thing, most developers think best at a keyboard, not a blackboard, and most classroom training involves very little hands-on practice. Also, classroom trainers have to adjust their pace to the slowest learner in the class, which can be very frustrating for experienced developers who want to jump ahead.
Finally, products such as application servers are quite complex and can be used and configured in many different ways. With a class full of developers from very different organizations, trainers can't always cover all the aspects of the product that are relevant to the company's work. At marchFIRST, staff often came back from training without really feeling trained in what they needed to know.
Clearly, classroom training wasn't working. But that didn't remove the challenge of building the team's expertise for upcoming projects. Technology is always marching ahead. The staff needed to prepare themselves for contracts to create new e-commerce sites that were to be built on application servers that some of our developers had not yet used.
Looking for other options
marchFIRST could have avoided training its developers altogether, but that option has even more drawbacks. Throwing your team into the fire and expecting them to learn as they go on a real project isn't fair to the customer or to the developers.
Another strategy is to hire new people constantly, trying to grab up experts in the latest products and technologies. That can be difficult because true experts are hard to find and harder to keep. There is also the added drawback of a lack of continuity for both the team and the customers.
Some companies simply outsource all product-specific work to the product's manufacturer. They may, for example, have consultants from IBM Corp. or BEA Systems Inc., of San Jose, Calif., handle all aspects of an e-commerce site's development that relate specifically to IBM Corp. or IBM's WebSphere or BEA's WebLogic application server.
However, the more pieces of a project you assign to outside consultants, the less continuity and commitment the team has. If the people doing the work do not have a long-term relationship with the client, the project is often not successful in the long run.
Since none of the available training alternatives was acceptable, marchFIRST had to find a way to train its developers that really worked. Representatives from the Technology Group brainstormed requirements for a training solution. They wanted a self-paced program that was flexible enough to use with different products and technologies and a way to train both new and experienced developers. Ideally, marchFIRST wanted a program that would add value to the company beyond the benefits of training and a process that would be fun and engaging for developers.
After a few sessions around the conference table, the Technology Group came up with the idea of an obstacle course. Team leaders from the programming, knowledge management (training), technical strategy, and quality assurance areas participated in strategy sessions to define goals for the course. Participants would use the platform of their choice to develop an applicationin this case, a simple e-commerce sitefollowing specifications developed by leaders in the Technology Group.