In a previous post, I mentioned I was working with a customer on migrating their codebase from classic ASP and VB6 to ASP.NET and .NET using a technique I call “scrimmages”.
Well, Friday was the first training session, and the format was really simple and lean. All the developers assembled in the test lab at 3:30pm, raring to go. We did a quick kick-off, which was just a quick introduction and overview of why they were about to embark on this type of training, and what the outcomes and expectations were (very important part of making sure people keep their eye on the prize). Everyone had installed the 180–day trial of VSTS on their machines, side by side to all their existing development tools, and had copied the first three hands-on labs from the central server.
Then everyone was off and running. The plan was to complete the first lab, which was an intro to ASP.NET lab, and was scheduled to run for 60 mins. There were two other labs available too, for those who blazed through the first lab. The idea behind this is to not stifle or stymie anyones impetus. If someone guns the first lab, get them onto the next, but ensure that at a minimum, the WHOLE team completes the first lab. Those who stream ahead should always have one or two similar but different labs to keep them going for the session. But the key message is “no one gets left behind”. It’s important for the team to feel that the learning of new skills and techniques only has a place when teamed together.
One thing did occur to me though, and that was, for those who finish the training session lab early, the team should be encouraged to promote those individuals to session leaders. What are those? Well, back to the old gridiron field. When you are running a drill, and someone is dialing it in (for some people, a drill just makes sense, and they have no problem executing with both technique and effectiveness, others take a little longer), they are promoted within the drill to a drill lead, and their role is to observe other players during the drill and provide technical feedback. It’s not the kind of feedback a coach gives, it’s the kind someone on the field gives. The information is a lot more raw, and is told in a way that someone can relate to it from an execution point of view rather than an academic point of view. The other thing to note about Drill Leads is that it’s not always the same people who play the role of DL, as some people have a natural gravitation towards certain tasks than others, so you find different people becoming a lead in one activity, then falling to the tail during others. The point of having the DL (and the same I believe holds true in technical drills) is that they provide assistance to their team members to accelerate through an activity. Again, it’s not the completion of the tasks that is important, it’s the repetitive execution. Why? It’s through the repetition that the mind builds up the receptors to deal with similar problem spaces, and over time, the mind connects the dots. So whether the person gets through the activity the first time faster or slower than someone else in the team doesn’t matter. What does matter is that over a prolonged period of time, each person in the team can rely on their team mates to be able to execute comfortable in a planned way in a given scenario.
Also, the other thing I realised from the first session was the impact enthusiasm has on people ravaged by the “critical path”. Now, on some long term projects, the critical path can be quite long and arduous. Add a good dose of technology rigor, and you quickly find peoples enthusiasm, and creativity and lateral thinking start to erode. What was very interesting was the overall mood that captured the team after they started working on the labs. They were intent, staring into their screens, looking over documentation, engaging their colleagues, asking questions; in essence, they were ALIVE! I honestly believe that there is no better way to inject enthusiasm, enjoyment and overall team cohesion than to do technical drills. I mean, it’s 1 hour a week, but the return on that investment from a technical development, employee satisfaction, human spirit point of view is immeasurable.
And if it means you’re development team is now thinking in new ways, and feels invested in and supported, then you’ve got a brand new team. Better than trying to fill that empty head count when your best developer walks out the door looking for new challenges.