Software Maintenance FAQ
Over the last few posts, we have covered a lot of the common questions we are asked about Software Maintenance. In this post we bring things together by summarising some of the bigger topics we have covered and adding in a few shorter questions and answers that don’t quite justify their own dedicated post.
What is Software Maintenance?
Software maintenance is the processes that are followed when software is live in production.
It’s not just bug fixes, though those are part of it, it also includes patches, updates, performance enhancements and often smaller feature updates that are too small to warrant they own project.
Read the full post here.
What are the Benefits of Software Maintenance?
The main benefits of software maintenance are:
- Improved Security
- Reduced Cost of Ownership
- Improved Software Performance
- Reduced number of bugs
- Improved User Experience
Read the full post here.
Is Software Maintenance Important?
Yes, it is vital part of your software’s life-cycle. It benefits, you, your users and your business in many ways. See the benefits question above.
Read the full post here.
What are the types of Software Maintenance?
The 4 types of software maintenance are:
Corrective:
Bug and error fixing
Adaptive:
Maintenance required because of changes to the development environment
Perfective:
Evolutionary changes based on the changing requirements of the users and business.
Preventative:
Proactive maintenance done to improve the robustness of the software.
Read the full post here.
What is the best practice for Software Maintenance?
The best practices involve:
- Testing
- Documentation
- User Training
- Regular Maintenance
Read the full post here.
What is the cost of Software Maintenance?
There are many factors that have an impact on the cost including the age of the software, how regular has the maintenance taken place and even the language it is written in.
Read the full post here.
How can Software Maintenance be minimised?
Our list of dos and don’ts include:
- Do have well written and documented code.
- Don’t increase complexity without a good reason.
- Don’t add features whilst ignoring what can be removed.
- Do keep your software stack and libraries up to date.
- Don’t pick fashionable / new development languages without good reason.
- Do use good quality developers.
- Do have a regular maintenance plan in place.
Read the full post here.
What tools are used in Software Maintenance?
On top of all the usual development tools it is normal to have a ticket management system to maintain a list of what needs doing and what has been done. This can also be used to highlight areas that are potentially not very robust in nature i.e., parts of the software that consistently have the greatest number of issues. We also like to use Wiki software so that developers can maintain technical documentation about the software. This is very useful when more than one developer maintains the software.
Have we missed something that you would like answered? Then please contact us.