Catalyst: Recently my team has been tasked with bringing in house a large software project that has been worked on for over 20 years. Some of the old development team is still around, and originally the plan was to have them mentor us and bring us up to speed. After quick investigation, it's been determined that this project suffers from the following:
- No testing framework. Everything is manually tested at an integration level and shipped off to the customer to verify the changes.
- No up-to-date design documentation.
- Limited learning material. The code does a lot of non-standard things(lots of use of configuration files that define business behavior, use of multiple configuration files for GUI [attributes of the GUI can be set in file A.extenion_x or B.extension_y, but not real clear as to why])
What I'm trying to come up with is a list of things our developers can do as they work in order to teach other members of the team, or future members of the team. Basically I just want them to document their learning, and then archive that information.
Luckily the project did take advantage of issue tracking software, so each bugfix or feature change can be tied to a unique identifier. We can then archive the learning material and tie it together with the same id. An example of said learning material, would be a quick write up about the change, a test plan, and other applicable information for the change.
Outside of making use of unit testing (that's the goal, but it's not going to be able to be completed in the short term), what are some other ways we can generate learning documentation as part of our development process.