Where should the line be drawn between service and new features?
The Oxford English Dictionary defines maintenance as:
(7.a) The action of preserving something in working condition, repair, etc .; maintaining a building, institution, corps of troops, etc., by providing funds for equipment, etc .; the state or fact that they are so supported; means or provision of content.
I work with a client-server application and support the client. By definition, I would expect to do:
- Error correction
- Adapting the API (small changes necessary to continue the client working with the server)
- Optimization for identified performance issues
I would not expect execution:
- New development (adding new features)
The Wikipedia Software Maintenance article uses corrective, adaptive, perfect, and preventative maintenance that seems to be consistent with what I would expect, but the nature of the client server complicates things.
EDIT . When using stand-alone applications that have no dependencies, if the software works, it should continue to work. When using client-server applications, the client may break when the server changes. Although this does not change the definition of service, it implies that there are more possibilities and cases where changes in the client application will be necessary.
If the two parties agree on a maintenance contract, it is necessary to understand what qualifies and is serviced, and what qualifies as new functions, so the question is.
client-server maintenance
Kaleb pederson
source share