When I read a chapter 8 “Software Maintenance: Enhancing Legacy Software Using Refactoring and Agile Methods” of Engineering Long-Lasting Software, I totally agreed with Maintainability. It says that there are four important points of maintainability. Those points are important for creating a better product than before. The book says following categories:
- Corrective maintenance is to fix defect and bug.
- Perfective maintenance is to expand the function of software for new customer.
- Adaptive maintenance is a process under the system is set to adapt the change inside or system environment.
- Preventive maintenance is to improve structure of function for the future.
The purposes of those kinds of maintenances are to improve a product. I think that all of those categories of maintenances are so important. When I read it, I associated contents of those four categories of maintenances with my previous job. I was engineer and fix machines that makes display for phone, television, and any other device that needs a display. The machines were doing the same mistakes a lot and after 2 hours I fixed the machines, they would do the same mistakes again and again. If we did correct maintenance for them, it would be working better. In my case, we need Adaptive maintenance and Preventive maintenance.
Anyway, maintenance is so important to improve software to make better products. I think that understanding those four maintenances are most important contents of chapter 8. For example, if I make a machine that makes a game. We can check that program runs well or not by process of corrective maintenance. Then, if I have an idea for new customer, or get an idea from customer for making better game, I will expand a function of game for customer and new customer by the process of perfective maintenance. Adaptive maintenance does mostly the same process of perfective maintenance. I can get a new idea for next product or other good functions for the game for future by process of preventive maintenance. If I got wrong idea from this chapter, please let me know what I got wrong.