- Yair Mark
There is an acronym known as "Keep It Simple Stupid" (KISS for short) which in software development means make something as simple as possible as it is easier to reason about and maintain.
A modified version of this acronym "Keep It Small Stupid" can apply very well to the agile process. It is also more in line with the lean and agile philosophies of small batch sizes. One thing I have found is that as soon as a story gets too big it becomes difficult to:
- Size properly
- Work on the story in parallel as a team
- QA and test later as we have a big bang implementation - this task suddenly appears in an environment for testing
- Limit work in progress as we have this monolithic story stuck in progress until it is complete
- Focus as you realize just how much work is actually involved in this task and end up context switching to complete all of it at once
- Coordinate work on the task as it is not clear who is working on what resulting in painful merge conflicts and duplicate effort
Generally the best way to solve a problem is in bite sized chunks and as such it follows that if we treat a story as a problem the best way to solve and reason about it is to break it apart as much as possible. This forces people to think more in depth about a problem which increases understanding of it, makes it easier to spread the work load across the team and in the end finish the story faster and more effectively.