|When learning a reference application, consider face-to-face hands-on training. Instructor elaboration provides additional context for self-study.|
[See also the PED Implementation of this principle.]
Based on our experience with “the Company,” a reference application is an effective enabler of independent learning—for a small minority of bright, self-motivated software engineers. In other words, it is limited in its appeal. To expand the reach, we introduced “instructor guided training” (IGT).
Offering training is a business decision, and companies differ on the value they perceive in it. We question whether the costs of developing, maintaining and delivering in-house technology-specific training programs are sustainable, due to the rapid pace of technology change. Having experienced the challenge of maintaining dynamic course content first-hand, we posit that teaching people how to use a reference application as a learning tool is a more sustainable model. Investment in the maturation of a working reference application should be prioritized, because it serves as a foundation for an effective training program that enables subsequent independent learning. Said another way: we believe in teaching the how, not the what.
We recommend offering formal Java pattern classes that are: instructor-guided, face-to-face, limited in duration and class size (i.e., eight to twelve attendees), provide opportunities for hands-on practice at using a reference application, and impart a familiarity with the enterprise Pattern Language. Reliance on informal-only learning is inferior to this type of formal guidance for competency growth.
 In 2002, Java was adopted as the standard platform for in-house development at a successful large automotive manufacturing enterprise (“the Company”).