The agile practices are not still being embraced by many organizations or they are unaware of them and old practices(any common old practice exists in fact?) are used. Since every body does not have the chance of finding a chance to work with an agile team everywhere, we sometimes work on companies where green field development is not done. Teams are supposed to work as a whole but in reality each member of the team has his own usual way of doing something so there is no common behavior across the team. If you work in such an organization and the ownership of codes is not handled by the whole team, there are always times when you have to transfer the ownership of a project. Things that I do while transferring the ownership to another colleague are as follows:
- Don’t give the source of your project through network sharing or email as a zip file. Share it through a version control system(VCS), so if a case occurs in future, there is always a way we can track back.
- Prepare a small manual, that will help the new owner how to set up his machine to run the project in dev/test/prod envrimonts. It may include, VCS info of project, used database/telnet/ftp urls, commands to run, PATHS….In short, write every detail to make the code run without a problem on a new machine.
- Have scripts to make the project build->deploy->run automatically, instead of doing things manually.
- Be asure that your code works and don’t transfer it in a unfinished, middle stage. If your code is not working, new guy will suffer a lot to understand your work and this is is really difficult at the early stages. So fix everything first and then leave it.
- After the installment is done, run the existing code and check if the results are as expected together.
- Always write your own tests and show the idea of testing and how to run it so that test writing practice may be also continued after you:)