4 ms·
When you talk about software maintenance you're trying to get a hold on the cost of software. Most projects have a full development cycle to 1.0 and that after
by ascotan 4y ago
When you talk about software maintenance you're trying to get a hold on the cost of software. Most projects have a full development cycle to 1.0 and that after the initial release that team may be prioritized to work on something else (or not). When this happens the original piece of software may be in production and still needs to be maintained but no active development is taking place. The reason you might do this is that the dev team is a precious resource and having them iterate forever on the same piece of software (the product model) may not be financially feasible or desirable to the company.
There are companies that can afford the "product model" but it would require that everything developed by a company maintains a full dev team per software component. However, not everything needs to have features being added to it continually. It makes more sense from a people management perspective to move that team off and have them work on something else. In which case you have something in maintenance.
If you have to budget software it does make sense to think of it in terms of the capital expense of upfront development and the operating expense of it's maintenance. Much of the operating expense may involve hardware upkeep, recurring licensees, etc. People are an operating expense too but they can be moved around. Nevertheless the 'software' (without you) needs to be thought of as something that will be maintained when you're not working on it and what the cost of doing this will be.