I put my two weeks in to find greener pastures. Yeehaw!
Question though - What do I do with these two weeks? My users are still clamoring for new features, There are still bugs lurking around, production could be cleaner, and my bosses are politicking to figure out who, in a time of hiring freezes, is going to to maintain my project. I've done most of my code with the idea of ensuring as little headache as possible for the next guy, so my code is as clean and readable as I could do. Most of my library code is unit tested, although I don't have that much documentation out there. What should I focus on for the next guy when I'm not sure who he/she will be?
What would you, coming into a new project, find most helpful from your predecessor?
A couple of notes that are project specific:
The code base is in a proprietary language that you've never heard of, because its not used anywhere. It's like VB, and used for file to file transformations. The documentation for this language is decent, although missing anything resembling a community.
Theres no unit testing framework out there for it. I've hacked together a process to do testing, although it's not very deep. (test case works/fails) Most of my reusable code has tests, although none of my process specific code does.
There is a very good chance that my code base will move to another department, so theres a good chance that no institutional knowledge will remain. I'll be doing code reviews, but theres no guarantees that it will do any good.
We did not use version control - I kicked and screamed for it, but couldn't get any support. Versoning/development is done in folders named with a ticket number stored on a network drive
We have a wiki - I'm unsure what kind of info to put on it.
I have some home rolled tools to make things easier for me. The code is python and fairly clean - no testing or documentation for these (each tool is fairly straight forward)
The initial purpose of the project was to get off a database - there is no DB running as part of this project.