What does maintainability even mean?
Before you write me off as a lunatic and start looking for options to return this book, let me explain what I mean by maintainability.
Maintainability is only one of the many quality requirements that potentially make up a software architecture. I asked ChatGPT for a list of quality requirements, and this is the result:
- Scalability
- Flexibility
- Maintainability
- Security
- Reliability
- Modularity
- Performance
- Interoperability
- Testability
- Cost-effectiveness
The list doesn’t end here.1
1 For some inspiration about software quality (which has been created by humans, and not a language model), have a look at https://quality.arc42.org/.
As software architects, we design our software to fulfill the quality requirements that are most important for the software. For a high-throughput trading application, we might focus on scalability and reliability. For an application dealing with personally...