The best training option
Just 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 works
The 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.
|marchFIRST's "Search" main page allows a user to enter search criteria to find records within the data file. It also allows comparison of
search times between LDAP and SQL data stores.|
Upon submission of search criteria, the two data stores perform the same search, and elapsed time between the two data stores is compared (see graphic above). The application also generates an e-mail that is sent back to the user with the data file as an attachment.
Developers create the application on their own, and then submit it to marchFIRST's quality assurance team for testing. Typically, a senior developer and a quality assurance person review the completed obstacle course application with the developer to discuss areas where the application could be improved. Since the same application can be built using different hardware and software, tests of different solutions on different platforms yield valuable performance metrics that marchFIRST can apply to future projects.
And it really does work
Both 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."