Chapter 12: Beyond Functional Requirements
While the functional requirements of the core of the system may be met adequately, it is just as important to place focus on the operational characteristics of the system. In this chapter, we will look at common pitfalls and how to get past them.
In this chapter, we will cover the following topics:
- Observability
- Consistency
- Performance and scale
- Trunk-based development
- Continuous testing
- Deployment automation
- Refactoring
- Invocation style
- Logging
- Versioning
By the end of this chapter, we will have learned about various aspects of the software life cycle to create a robust solution from a cross-functional perspective. We will also discuss additional features that we will need to add to make our solution performant, scalable, resilient to failure, and gain the ability to make changes reliably, repeatably, and rapidly. Furthermore...