The importance of documentation, organization, and cross-training
A recent experience on a large database development project illustrates three very important principals to follow when developing a large computer system; keeping code well organized, keeping code well documented, and ensuring that more than one person is familiar with all portions of the code base.
After about four months of development the lead developer on our project suddenly became very ill. His illness was serious enough to result in immediate hospitalization and he is expected to be unable to work on the project at all for several months.
This illness occurred the day after we delivered the first phase of the project for user acceptance testing, with a significant amount of work remaining to complete the next phase of the project and to get phase I into production.
Fortunately, during development our developers worked together so he was not the only developer with knowledge of the code that he worked on. Also, the code that he wrote is well organized and well documented. Therefore the other developers on the project were able to quickly pick up their colleague’s work without having to consult with him while he was in the hospital, which would have been very difficult to do due to the seriousness of his illness.
This experience illustrates the importance of planning for unexpected staff changes. The illness of our developer could have been disastrous for our project had we not ensured that more than one person knew the code base and had the code not been documented and organized well.
Instead of having the added expense and delays that would have been required to bring a new developer up to speed, we were able to continue working on the project with very little delay.
The developer that became ill is not just a team member but a friend of the rest of the team as well. We are pleased that our communications with him since his illness began have been about wishing him well and lending support, instead of asking him questions about the project. This is another, more personal, benefit to ensuring that these basic principals are followed.