In recent months I\'ve been working on a project, and two weeks from now I\'m le
ID: 642287 • Letter: I
Question
In recent months I've been working on a project, and two weeks from now I'm leaving the company. I've scheduled a 4-hour training session next week in order to train my colleagues (the team leader and fellow programmers) on this project. One of the programmers has already written some code in it, so I'm not leaving the team with zero knowledge, but I'd like the others to be experts as well. The project has a few thousand lines of code, it includes some concepts which are new to the team (such as ORM and IoC), and due to its central role it will probably be heavily maintained in the future.
So far I've written two presentations about different modules of the project, so these presentations can be used both for the current session and for training programmers that will come to the team in the future.
From your experience, how can I make this session fun and effective? I really want this application to be maintained well, I'd like to leave a "fine legacy", so that the code will be maintained in the same spirit that I intended it to be.
Thanks!
Explanation / Answer
You will not make anyone an expert on any system in 4 hours, but you can certainly provide them the basic information that will allow them to self-instruct towards mastery in that span.
Presentations are beneficial so far as the diagrams provide good reference material, but if you look at it objectively, how much has any presentation really ever taught you? You'll probably conclude that you haven't learned anything from presentations, you've learned by doing.
The most effective method of getting them to learn the code of the project is to walk them through it. This is more about you coaching and them clicking through and being able to ask questions. It would be handy to have visio (or similar) diagrams of any interactive systems for particular processes (WCF services, data connections, etc) or other reference materials about how the classes and objects should interface together (perhaps a class diagram showing your object heirarchy).
A single 4-hour session may not be ideal, but if that's what you have to work with then so be it. I suggest you break your 4-hr chunk into manageable chunks of time to allow for time away from the computers/presentation, questions, etc. Each chunk should cover a module of your project and should have a very specific goal (e.g.- At the end of this session you should understand the data control class structures).
If you have a set of business requirements you are programming against, make sure the team has a complete list of accomplishments for each item. If some of them are complete only on paper or in your mind, write these notes down in a comprehensive list. It will help the team understand decisions you've made if they know the path and direction you were taking to complete the requirements.
Focus on the concepts that are new to the team. Provide external resources they can reference for learning more about these concepts. Hopefully if your team has established standards, practices and patterns, there should not be a lot of new material to cover.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.