Imagine it is Saturday, your spouse is about to go out somewhere with the car, and you need groceries. You ask him or her to stop at the grocery store on the way home. “Of course, send me the list!” You text the list of groceries for the week and then add, “For our guests tonight we need meat, wine, and cheese.” Your spouse returns at six that evening with everything but the meat, wine, and cheese. “How could you not bring tonight’s dinner!?” “Oh, that was at the bottom of the list and I was running late, so I didn’t get to it.”
Obviously, getting everything would have been the best solution, but if you had to choose between ‘things for next week’ and ‘things for tonight’, which is more important? Which alternative gives you better options?
Time, budget and scope are the classic measures of success of a project. Is it on time and on budget? Did it deliver all the features? Of these three, scope is probably the least important. Being on time with the most important features is usually better than being late with all the features.
The underlying challenge is that we have more good ideas than time and resources to implement them. Which of these are really essential? And which could you live without?
Scrum ensures that you deliver the most important features first by slicing features into small chunks, prioritizing them, and only working on a small number of high priority features at a time. Collaboration with the client side is essential to get the sequencing right. If you are going to fail to deliver something, skip a nice-to-have, not a must-have.
Scrum is not designed to deliver the exact contents of a shopping list. As a client, you can constrain Scrum with some kind of Fixed Scope contract, but it is probably not in your interest to do so. The vendor will need to add buffers to accommodate the risks. You will need a change management process to manage the inevitable change requests. That change management process itself costs time and money and its true purpose is to raise the cost ceiling. Selecting the vendor through a competitive bidding process incentivizes the vendors to bid low, skimp on quality, and earn their money back through the change request process and maintenance.