- **Epistemic status:** #seedlings
Code maintenance is often assumed as a discrete task that begins when an application is released by fixing [[Software Bug]]s and enhancing features. The fact is that code maintenance is a routine part of the development process because knowledge changes rapidly. New requirements arrive, existing requirements evolve as the project is ongoing, technology updates, newer ways of getting the work done, environment changes, etc. Having such an unstable environment, a large amount of time is dedicated to reorganizing, and reexpressing the knowledge in the systems.
---
## References
Thomas, David, and Andrew Hunt. _The Pragmatic Programmer, 20th Anniversary Edition: Journey to Mastery_. Second edition. Boston: Addison-Wesley, 2019.