AS 06 - Complex Tasks

Complex tasks should be avoided in agile projects. They should be decomposed by the development team into simpler tasks.

The Complex Tasks smell is detected when there are complex tasks in a given iteration. The presence of this smell may indicate that the developers are not properly breaking complex tasks into simpler tasks.

Agile Methods: The motivation for avoiding complex tasks in Scrum is derived from a technique for project management called a Burndown Chart. A Burndown Chart reflects the daily progress of the team and decreases according to the number of finished tasks. The chart is expected to decrease daily after the Daily Meeting. Otherwise, a delay in working-in-progress is detected. The problem with complex tasks - those whose duration exceeds 8 hours - is that they may give a false indication that the work-in-progress is not evolving. Therefore, simple tasks make the iteration management easier and more reliable since it is expected that each developer finishes at least one task per day. Avoiding complex tasks is also explicitly mentioned by FDD that suggests that the features should be small enough to be implemented in a few hours or days.

Industry Perspective: All participants indicated - with different levels - that the agile smell is relevant. No additional comment was given.

Identification Strategy: A strategy to identify the presence of the Complex Tasks smell is to verify whether the tasks estimates exceed an allowable threshold.

Parameters: A Maximum Estimation Allowed parameter could be used to configure the threshold that used to identify complex tasks.