Agile development is all about breaking down each project requirement into tasks. Agile method does not deliver the project in a big chunk. It’s all about doing the steps feature-by-feature with potentially shippable software every sprint. (Waters, 2007)

All the tasks that are necessary to build the shippable software are put in a product backlog. Thus, a product backlog is just the list of features/tasks to be developed that will keep on evolving throughout the life cycle of the project. As the project progresses, new features/tasks will be added, deleted or replaced to the backlog depending on the changes in the project requirements. Hence, task to do is never complete in Agile.

In each sprint, there will be number of tasks selected from the sprint backlog that needs to be accomplished in the current sprint. Each task is estimated in hours. In my current project, we use a tool called ‘Poker Planning’ for estimating the task. We involve each member of our team during estimation and try to keep the tasks small. If the task take longer than a day, we further break it down so it is easier to estimate.

The team is continuously collaborating and communicating with the clients, developers and testers. Every time there are new changes or a task is completed, members of the team continuously integrate their work(Abrantes & Travassos, 2011). This gives instant feedback about the health of the project. Their activities are discussed daily in a daily standup meeting where they bring up topics such as issues faced by a team member, the possible solutions, task completed, etc. At the end of the sprint, the tasks are accomplished and new tasks are created again for the next sprint. And the whole process is repeated.

Task board

(Diagram of Task board)

So every sprint, each feature is completed which means it is fully developed, tested and accepted by the product owner before counting it as “DONE”. Unless each feature for the current sprint is really complete, there is no moving forward to a new feature (Waters, 2007). Each sprint must deliver a shippable product. It should not be in a state where there are some features that are incomplete or partially tested. That doesn’t necessarily mean that it would be appropriate to ship the product after every feature, but the features in the current sprint are complete and has the shippable quality. You need to make sure that the features developed in each sprint or iteration is “Done”.

Definition of Done

(Diagram of Definition of Ready)

We use burndown chart to track the status of each sprint. The burn-down chart gives a deep understanding of product status. It shows remaining effort and tasks for a given period of time.

Thus, in Agile, the entire team is continuously assessing the plan throughout the development lifecycle. Every sprint delivers complete feature that is fully developed, reviewed and tested.

References:

Abrantes, J.F.; Travassos, G.H., “Common Agile Practices in Software Processes,” Empirical Software Engineering and Measurement (ESEM), 2011 International Symposium on , vol., no., pp.355,358, 22-23 Sept. 2011

[Diagram of Task board]. Retrieved October 12, 2014 from
http://www.mountaingoatsoftware.com/agile/scrum/task-boards

[Diagram of Definition of Ready]. Retrieved October 12, 2014 from
http://blog.xebia.com/2009/06/19/the-definition-of-ready/

Waters, K., Agile Principal 7: Done means Done ! Retrieved October 12, 2014 from
http://www.allaboutagile.com/agile-principle-7-done-means-done/

Waters, K., Sprint 4: Sprint Planning (Tasks). Retrieved October 12, 2014 from
http://www.allaboutagile.com/how-to-implement-scrum-in-10-easy-steps-step-4-sprint-planning-tasks/

Advertisements