The Scrum process says to break down stories into tasks to make estimation easier, encourage collaboration and to be able to show more granular progress during a sprint.
But after a few sprints, we decided to do the next sprint without creating tasks. As a result we drastically increased our velocity and never went back. Here I'll jot down some of the reasons we decided to do this:
Breaking down stories into tasks is time consuming
The tasks we came up with invariably would change as we worked on the stories
Tasks are repetitive
Tasks were often carried out in parallel
Our estimates didn't improve
It decluttered our task board
It encouraged collaboration throughout the sprint
While we started our process by following Scrum to the letter, we soon realised that breaking down stories into tasks was something that wasn’t worthwhile for us. In the end we realised that it was overplanning and poor use of our time. In the end we used that time to get on with the work and deliver at a significantly faster pace.
The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design.
I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted.
Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process.
The Goodness Function Cannot be Evaluated Incrementally
The Rational Model assumes that design involves a search of the decision tree, and that at every node, one can evaluate the goodness function of several downward branches. In fact, one cannot in general do this without exploring all the downward branches to all their leaves, which is possible in principle, but leads to a combinatorial explosion of alternatives in practice.
The explicit listing of known constraints in the design program helps here. The designer can periodically scan the list, asking, “Can this constraint now be removed because the world has changed? Can it be entirely circumvented by working outside the design space?”
Perhaps the most devastating critique of the Rational Model, although perhaps the hardest to prove, is that most experienced designers just don’t work that way.
“Conventional wisdom about problem-solving seems often to be contradicted by the behavior of expert designers. Empirical studies of design activity have frequently found ‘intuitive’ features of design ability to be the most effective and relevant to the intrinsic nature of design. Some aspects of design theory, however, have tried to develop counter-intuitive models and prescriptions for design behavior.” — Nigel Cross
Why all this fuss about the process model? Does the model we and others use to think about our design process really affect our designing itself? I believe it does. I believe our inadequate model and following it slavishly lead to fat, cumbersome, over-features products and also to schedule, budget, and performance disasters.
The Rational Model, in any of its forms, leads us to demand up-front statements of design requirements. It leads us to believe that such can be formulated. It leads us to make contracts with one another on the basis of enshrined ignorance. A more realistic process model would make design work more efficient, obviating many arguments with clients and much rework.
The Waterfall Model is wrong and harmful; we must outgrow it.