Maintenance Manual

Guidelines for the Maintenance Manual:  The purpose of the maintenance manual is twofold:  1) to document your development sufficiently to facilitate it's continued evolution by another development team and 2) to make recommendations on your future vision for the project (after all *you* are the expert on this project, go ahead and tout that fact).  For part 1, consider what you know about your project that could be helpful to those following in your footsteps.  You'll need to give some effort to this, because you may not even realize how much you know about your problem area, because you are so intimately familiar with it.  For part 2, take some time to assess what you accomplished this year and what the "next step" might be for deploying or improving your product. 
 
To help you organize, use the following general outline:

The Maintenance Manual Document:  Provide a single document containing the following sections:

bulletOverview: 
bulletBrief description/background for the project (perhaps by reference to the SRD or an earlier product presentation)
bulletSkills and knowledge areas:  what things did you need to know/learn about in this project, e.g., database, web, OpenGL, debugging, GUI toolkits, networking, etc.
bulletIf you found helpful texts, web sites, readme files, user groups, software toolkits, etc. along the way, reference those resources.
bulletTricks and Techniques:  Almost every application has some "quirks", the oddities in your code that only those intimate with the development recognize.  For example, perhaps you've got to edit a certain configuration file (in a way other than what your "official" documentation states, before it reads correctly.  Our maybe your database has to have a certain permission structure to make it editable by the administrator.
bulletConsider carefully what tricks. gotcha's and "features" exist in your application and do us the favor of documenting them.
bulletCandid assessment of the state of your application:
bulletFunctions Implemented
bulletEstimated robustness and/or completeness of major functions
bulletPrioritized recommendations for corrections/improvements (as applicable)
bulletFunctions Planned:  probably you didn't finish everything you set out to do in the requirements document.  What was left undone?  Of that which was left undone, what was most important?
bulletDegree of importance to overall project
bulletEstimated effort to implement function
bulletFuture Enhancements/Modifications:  along the way you also probably thought of other cool ideas that you just didn't have the resources to implement.
bulletMake recommendations on how this project could be improved/make more useful (e.g., what new features would you promote now being more familiar with the program/problem area)
bulletReferences:
bulletProvide pointers to product documents:  PMP, SRD, SDD, UM, Installation Manual, and Final Product Presentation (you can provide these on a CD or create the appropriate directory hierarchy to archive these on the T: drive)
bulletFile listing
bulletList each file which constitutes the "program", documentation, and development framework
bulletTypically you'll want to list the files in some organizational fashion with brief descriptions on the purpose of each file.  Consider using the following categorization: 
bulletsource files
bulletdocumentation files
bulletconfiguration files
bulletmakefiles
bulletscripts
bulletreferences (readme files, web links, .pdfs, etc.)
bullettutorials
bullettest files
bulletproject web pages
bulletutilities and support software
bulletFile descriptions can be documented in the headers of your files and mantenance manual documentation generated automatically (if you prefer, not required).