Empiricism is the act of making decisions based on what is. Scrum is an empirical process, sometimes described as “the art of the possible.” By this, I mean that we do the best we can with what we have.
A Product Owner plans a release based on all current information. He or she lays out the goals, the features and capabilities that will deliver those goals, and the probable cost and date of delivery. From that point on, the Product Owner’s job is to assess what is possible given the Team’s capabilities, and to make the best decisions to reach the desired goal. Given the nature of technology, markets, requirements, and people, trade-offs are made. Sometimes the goal cannot be reached for a reasonable price. Sometimes the goal will be reached, but in a way different from what the Product Owner initially intended. This is empiricism in action.
The Team (of developers) on the Scrum Team does the same. It meets with the Product Owner and assesses what the Product Owner views as the most important things to do next. If done, these will move the emergent product in the best direction toward the desired goal. The Team selects as much as it believes it can do over the upcoming Sprint. The cost of the team and Sprint length are fixed. Only the amount of Product Backlog selected can vary. The Product Owner and Team often define a goal for the Sprint. This is a subset of the release goal.
When the Team selects Product Backlog Items in a Sprint Planning meeting, it commits to do it during the Sprint. A definition of “commit” is:
To bind or obligate, as by pledge or assurance; pledge: to commit oneself to a promise; to be committed to a course of action. (www.dictionary.com)
This conforms to my intentions of the word commit, which is a pledge, a commitment to a course of action.
However, many Scrum Teams use the word commit as if it were a “guarantee.” This is a residue of waterfall, where an estimate was a contract. However, it still rings in the heads of product owners and developers. I have found team after team that feels they have to do anything to deliver their commitment. The usual victim is quality.
I wonder if we should change the word from “commit” to “forecast?” That might elicit the impression of the weather forecaster attempting to provide us with the best possible information. She works with what is known and the science of meteorology. She doesn’t provide a guarantee, but something that we can work with to make decisions. We find forecasts used by sales organizations as well. Perhaps this clarification will help us understand that a “commitment” in Scrum is a pledge to do our best with what we have.