If your project has any permanency whatsoever it will require maintenance and possible upgrades. While you will have done your level best to provide for all the users’ requirements, those requirements will evolve over time and your product must evolve with them.
An important part of the maintainability is to make your project, design documentation and supporting material available as an important reference for those that follow in your footsteps. If they are to successfully implement changes within your system to cope with the future needs of users they must understand your thinking.
Upgrades are always necessary. You can either ignore them or plan for them ahead of time. If you acknowledge an upgrade or maintenance release will be necessary then you can plan one, say three months from the initial launch of your project.
This will prevent a hiatus in your project team since members can move from working on the initial launch to designing and specifying the next release of the product. They can start to ‘triage’ the defects that have been left from the previous release and decide which will be fixed in the maintenance release and which will not be.
Extending the idea further, if you are working in an environment where you will have continuous releases (rather than a one-off product release) you should contemplate scheduling regular point releases of the product. For example if your are developing a product that will have a major release every year you should consider scheduling a minor release every six months, or possibly every three months, for maintenance. A regular release schedule helps your team, customers and support personnel anticipate releases and plan for them.
Nick Jenkins is an IT manager with 10 years experience in software development, project management and software testing. He’s worked in various fields of IT development in Australia, Britain and the USA and occasionally he learned something along the way. Now he lives on the banks of the Swan River in Perth, Western Australia, and he publishes the odd guide to help aspiring IT professionals. Nick’s website can be found at www.nickjenkins.net.