You'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?
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
Looking for other optionsmarchFIRST 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.
The best training optionJust as traditional obstacle courses exercise all different muscle groups, marchFIRST's development obstacle course would exercise expertise in all the elements of programming that its developers must master. Completing the obstacle course would allow developers to learn to use the latest application server, for example, through hands-on practice. But marchFIRST didn't just want its developers to play with it. The specifications would be carefully constructed so that the process of building the application would exercise relevant Web site development skills that the team would need to use on a real project. These include: directory services (LDAP), cookie management, state/session management, SMTP mail with attachments, HTTPS (secure socket layer encryption), HTTP file upload, ASP (application server pages)/JSP (Java server pages), Servlets, COM/EJB/CORBA components, database access, and XML support. When the company began planning what the application for the obstacle course would look like, it seemed logical to have developers build one that marchFIRST could put to practical use. Among the possibilities were to create an authentic e-commerce site or an internal program for ordering lunch. However, real projects require much more than programming practice, which is what the company wanted to emphasize. To build a real-world application, participants would spend too much time on business logic and design, and not enough time on the technical material they need to master. To make the most of the training time available, marchFIRST streamlined the obstacle course application and created very thorough functional specifications. Participants build what is essentially a performance testing utility. Visually, it is very simplemore like a lab exercise than a slick e-commerce sitebut successfully building it uses all the programming skills needed for the company's most complex Web development projects. Although the specifications are detailed, they could be easily altered to expand or change the technical skills that the obstacle course exercises. Developers in the Technology Group complete the obstacle course independently, on-site, at their own pace. For an experienced developer, it takes five to seven working days to complete and is typically done between client projects. Each developer selects the platform that he or she wants to use.
How it worksThe first few participants used the obstacle course to become familiar with the BEA WebLogic application server or IBM's Web Sphere application server with IBM's Visual Age as the front-end development environment. Participants receive a booklet of functional specifications that guides them in creating a basic e-commerce Web site and provides all the information needed to start building the application. The specs include a site map for the completed application, menus and user interfaces, the purpose of each Web page, details on when and how the site's database will be updated, how to validate input, and all other necessary functional details. From the main menu, users can choose to delete a data file, upload a new data file, reset the current database, import data, go to the search menu, or e-mail a data file. Each of those links takes the user to a page containing further related options. The application allows an XML file to be imported, then propagated out to a database and LDAP store. Simple screens enable the user to run queries and then view performance statistics. For example, the "Search" main page allows a user to enter search criteria to find records within two data stores (SQL database and LDAP). It also allows comparison of search times between LDAP and SQL data stores.
And it really does workBoth participants and senior managers at marchFIRST are enthused about the obstacle course. "Traditional classroom training was never very useful for me because the pace was usually way too slow," says Charles Turano, a senior developer who completed the obstacle course in May 2000. "I much prefer the self-paced obstacle course." Turano, who has 11 years of Internet development experience, used the course to become familiar with the BEA's WebLogic application servernew technology based on Enterprise JavaBeans that is quickly becoming the standard for e-business development. "This course is a great idea, and its strength lies in its flexibility," he says. "It's specific enough that you can give someone the specs and send him or her off to complete the work. However, the elements of the course could be easily altered to cover certain skills in greater detail, such as expanding the e-mail utility piece of the application." Development team leader Tarak Chatterjee also completed the obstacle course using IBM's Web Sphere application server, and points out further benefits: "Vendor training classes are strictly product-based and don't always cover exactly what we need to know to do our jobs at marchFIRST. The obstacle course is targeted to exercise the specific skills we use regularly in our business. Since vendor training classes are very formal and time-consuming to develop," says Chatterjee, "often the product itself has new features that the vendor's classes don't yet include." Chatterjee emphasizes that the obstacle course's flexibility allows marchFIRST to easily add a new "obstacle" to encompass expanded project features. While he thinks the do-it-yourself learning method works well for senior developers who are already adept at the rudiments of programming, he adds, "It may be useful to create some additional guidelines for junior staff or provide closer guidance by mentors as they complete the course so that they practice proper development methods." Albie Collins, marchFIRST's partner in charge of the Technology Group, says the return on investment is much greater with this course than with traditional training. "Participants learn more in less time and are much more enthused about the obstacle course than with taking classes," says Collins. "Also, since the course can be completed in any development environment, stress tests of the final applications on different platforms yield valuable comparative performance data that we can use on actual projects."