We learned a lot about functional requirements and automated acceptance testing in the previous chapter. However, 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? Let's 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 not able to bear the load of a sudden increase in the number of users. In the book Usability Engineering, Jakob Nielsen, writes that 1.0 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...