AntiPattern ---- '''Problem: ''' Training is expensive and time-consuming to give to entire teams. '''Context: ''' An entire team requires training in some technology. '''Forces: ''' *Training can be very expensive *Training an entire team can eat up a lot of person-hours *Training teams as whole units helps positive team dynamics *On-the-job training is more expensive than classroom training *On-the-job training costs are buried rather than explicit as in classroom training *Time to become a qualified instructor greatly dwarfs time to take a single class, i.e., people taking a class are not qualified to teach that class unless the content is so elementary that training isn't really needed '''Solution: ''' Train just one, two, or a few individuals in formal classroom settings, then employ them to train other team members. '''Resulting Context: ''' Training costs are contained, and what is learned by the few is leveraged to train the many. Quality of instruction is liable to be uneven, however, depending on such factors as retention rates, teaching ability, materials preparation, subject complexity, and time in class. Also, the benefits of a shared team experience may be lost (see TrainHardFightEasy). '''Rationale: ''' Budget and/or schedule constraints may require a limit on team members' time in training. One must, however, be continually aware of the "pay me now or pay me later" syndrome. Training ''will'' occur, either in class, or on-the-job. The determination as to which is more expensive in the long run is left as an exercise for the reader. '''Related Patterns: ''' TrainHardFightEasy '''Author: ''' DonOlson 95/09/14 ---- In some cases it's "pay me now or lay me off later". ---- I don't understand. Is this a pattern or an anti-pattern? It seems to be an anti-pattern (especially given the category), but the format looks a lot like a pattern format. Assuming it's an anti-pattern, I can see one exception to it: In order to evaluate a training class, it may be cost-effective to put only one person through it. This person, contrary to some opinions, should be the person most experienced in the methods being taught and/or training in general. If instead, one elects to send the person who needs the most help through the training, it will be unlikely that the evaluation will be valuable. Too often, inexperienced personnel are run through training courses and then asked to evaluate the course for others. The response is invariably: "Well, umm... I ''think'' it was good. ''I'' learned a lot." Only someone familiar with the state of the art and current best practices can give an evaluation with the appropriate context. -- RobHarwood ---- I don't think this is an anti-pattern if you are PairProgramming. -- ErikMeade ----- I am not certain that this is an AntiPattern. It depends on the kind of the training. If you are training in a new methodology, most of the time you should invest in training your team, not a single person. But, if you are training people on how to use one piece of software, it can be good to save money training a trainer. Also, one must not forget that you can train the trainer to be a trainer, not to be a simple user. It is important to understand other Patterns, as ChangeAgent, that could be used together with TrainTheTrainer. -- GeraldoXexeo ---- This is a mix of Pattern and Anti-Patterns, and several things are incorrect. * on-the-job training is cheaper then classroom traning for the same number of people - at least from my company. * There is always a gap between generic training and the requirements of particular project. Basic industrial training without further experience is not enough to cover that gap - and it does not matter if you train the trainer of the whole team. * PairProgramming and PairModeling have the element of mutual training. However, both roles in a pair should be given to really experienced workers. I can not see someone being a designer in a pair after 2 day course from Rational -- AlexJouravlev ---- I would also add that categorizing this as an AntiPattern is really ContextDependent. We do this all the time in the military, in fact it's pretty much the only way to train more than a few people. We may go to a class, but that class will often be in-house to the unit and taught by a local NCO who knows what he/she is doing. Note that this is not necessarily technical training, though that may certainly be taught as well. In my experience, it tends to be weapons training or safety training or simply "How to Train Your Troops" training. The basic concept is that an NCO is expected to be a mentor and trainer for his/her subordinates, and as such is put in the position of ''Trainer''. In fact, the Air Force training course for exactly this concept is called -- surprise! -- TrainTheTrainer. :) ---- To continue the military experience from the Air Force point of view, "Train the Trainer" is limited to "discrete task training"--that is, training that can be broken down to discrete tasks--rather than training intended to lead to process understanding. For discrete task training, "Train the Trainer" is a pattern; for process education, it is antipattern. ---- '''Alternate Course: ''' Let the competitors train your trainees, i.e.,"pirate" them ;) ---- CategoryAntiPattern CategoryManagementAntiPattern CategoryManagementPattern