We learned a lot about functional requirements and automated acceptance testing in the previous chapters. But, what should we do with nonfunctional requirements? Or even more challenging, what if there are no requirements? Should we skip them at all in the Continuous Delivery process? We will answer these questions throughout this section.
Nonfunctional aspects of the software are always important, because they can cause a significant risk to the operation of the system.
For example, many applications fail, because they are unable to bear the load of a sudden increase in the number of users. In one of his books, Jakob Nielsen, writes that one second is about the limit for the user's flow of thought to stay uninterrupted. Imagine that our system, with the growing load, starts to exceed that limit. Users can stop using the service just because of its performance...