Agile Batch Size

Don't Bite off More than You Can Chew

7 April 2014

Raghu Angara, CSP
Infosys Technologies


Agile Principle #8 says, "Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely."

Many organizations have a difficult time understanding this. The concept of sustainable development is abstract and ambiguous to many. More so with organizations that plan to adopt Agile or those that are in the nascent stages of Agile adoption. Examples of what the retrospectives from supposedly Agile organizations revealed include:

"We have the Agile process laid out and mapped to our current process. But it doesn't seem to be working."

"We simply are not able to execute efficiently in Agile. We are burning time. Our sprints are delayed and stories are incomplete."

There could be several reasons for their failure in the Agile space. We will not discuss all of them here. We will, however, discuss one of the reasons for failure: lack of understanding Agile Principle #8, sustainable development.

By its very name, sustainable development means delivering at a manageable pace. This in turn means establishing a pace that does not impede the progress of the team in achieving their sprint goals. For a team to deliver smoothly and efficiently, any form of bottleneck in the flow of product delivery has to be eliminated. Bottlenecks occur in almost every process, but to manage them in an efficient manner is one of the keys to achieving success in Agile delivery.

Achieving a sustainable pace for product delivery is easily accomplished with a few minor changes in the work flow. The Agile team is instrumental in this. The team's ability to limit the batch size or the number of stories in a sprint dictates how well it can maintain the flow of deliverables. It also establishes a consistent pattern for reaching the "done" state.

How can a team know what batch size to adopt for its sprints? There is no direct or simple answer to this question. Every team must go through a period of trial and error, exploring the possible batch sizes that could potentially increase its efficiency in delivering. After a few sprints it is more than likely the team members will identify a specific batch size that helps their team manage the flow of deliverables with no delay whatsoever. Basically what this amounts to is that the user stories and associated tasks move through the sprint without being bottlenecked, and the team members are able to successfully complete their tasks without being backed up.

Here's a real-life example that might help people understand Agile Principle #8. Doctors always advise us to eat in small quantities at regular intervals. There's a perfectly good reason for it. Doing so helps the body process ingested food more efficiently and smoothly. It gives the body time to recover from the effort and get ready for the next batch. And it keeps the body healthy. This is an example of managed batch size.

Applying this concept to Agile execution, we see that the team is able to consistently perform at a pace satisfying to the customer and the team. There are no bottlenecks or impediments of any form. This is probably the most optimal pace for the team to perform efficiently and effectively. There is so much value for the customer. So we see that sustained development is essential for an Agile team in order to perform efficiently and effectively meet the needs of the customer.

On the other hand, if a person eats large meals regularly, it takes that much more time for the body to process them. Even before the first chunk of food is completely processed, the second chunk arrives and adds to the stress. When the third chunk arrives the body is already under duress and could break down. There's not much value in it for the body. Therefore, results could be catastrophic for the body. This is an example of unmanaged batch size.

In this case the team is probably taking on work that is not properly balanced across the team members. Some team members might move large number of tasks to others who are not in a position to accept them. This results in a bottleneck with those team members. The team members will be under constant duress to perform and will most likely compromise on quality. Needless to say, the customer will be unhappy and the team will not perform at their best.

In conclusion, we can safely state that Agile Principle #8 is critical for any Agile team's successful and efficient performance. The team's goal of becoming self-contained depends on their efficient management of their work load.


Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.



Article Rating

Current rating: 0 (0 ratings)

Comments

Be the first to add a comment...


You must Login or Signup to comment.