Tasks are fine-grained units of work that a developer can tackle within a limited
amount of time, often within a work day. The duration can vary, effectively making it possible for Scrum Teams to
influence the granularity of the tasks they want to have on the Task Board.
When breaking a requirement down into tasks, the developers think about the individual steps that are necessary to
implement the requirement. This helps in effort estimation and allows the Scrum Team to split work among themselves
more easily. A responsible developer can be assigned for each of the tasks.
Ideally, the different tasks are vertical "slices" of the requirement. That means that tasks are not divided
horizontally (one task for the GUI, one for the business logic, and one for the backend) but that each task contains
elements of all horizontal layers. This ensures that each task's completion delivers at least some value to the
customer. A technique to achieve this aim is Alistair Cockburn's Elephant Carpaccio.
|