Shift left and shift right
One way to think of the waterfall model is that we build the wrong thing, then check it against the value for the customer, and then build the right thing. That is, it is not until the testing step that we actually check whether the ideas are going to work. The “Shift Left” paradigm is a plea to show quality earlier in the process. That might mean inviting programmers to participate in the requirement creation process or coming up with specific, clear acceptance criteria. Those acceptance criteria can be expressed as tests, either in plain English or BDD-style. For example, the requirements for valid and invalid passwords could include examples of valid and invalid passwords; not just “Must be at least 8 letters, of which one is a number and one a special character and one uppercase”, but actual examples of valid and invalid passwords. One bank we worked with, for example, would accept “&”, “<”...