Small Batches Sizes
Batch is a way to group some actions/things in a group
Prefer to work in small batches.
Prefer to release to production a small batch of issues, and small batch of code to avoid creating a lot of regressions or problems.
Small batch are easier to review.
Prefer work in small batch when writing, write a bit and get early feedback to make sure you are going in the right direction
Machine learning algorithm use a small rate of learning (batch), to make sure it converge to the right solution, if the rate is too big it will go in the wrong direction
Small batches generate a fast Feedback Loop .
WIP Written
Principles of Product Development Flow
The benefits of small batch sizes
Reducing your batch size you reduce the cycle time.
Cycle time is the time you take from an issue/task/feature ideation to go to production/live.
The small the batch size the small is your cycle time, and fast you improve your product/service.
The faster you ship new features
The faster you fix bugs.
The faster you add improvement
Reducing your batch size reduces variability of flow.
If one of your sprint has a batch size of 10 issues and the next one has a batch size 60 issues, which one will you deliver faster? If you keep your batch size small you always keep the same flow of delivering.
Reducing batch size accelerates feedbacks
If you have a small batch size you deliver fast and get feedback faster. This will make sure you are building the right thing or find bugs or errors faster. Your errors/failure will also be smaller.
Reducing batch size reduces risk
It is much safe to deliver a few new items/changes then many of them.
Instead of doing one off release of a new feature, try to release it incrementally.
Incrementally you can adjust to changes in requirements, you can adjust to errors during the releases, and you can adjust to feedback.
Reducing batch size reduces overhead
Large batches sizes increases the average number of bugs. If you have 300 open bugs, when you find bug number 301, we need to recheck the other 300 for duplications. For small batch sizes it would have many less number of test to retest if a new bug was found.
Large batches reduces efficiency
You can think of large chunk of work by an individual is more efficiency, but this is only local as reduce the feedback loops and overall efficiency. The individual could put some wrong assumptions and have to redo most of the work done.
Large batches lower motivation and urgency
Large batches dilutes responsibility, as if I’m responsible to deliver 1 modules from 100 modules, I feel much less urgency. It also make more probable of someone delaying one of those modules. It takes to much time to see your work in production and get the feedback from user.
Large batch size increases cost and schedule growth
It is hard to estimate schedule and cost for large batch sizes.
The batch size is limited by its worst element
the batch size will take as long as its worst element, 1 item will delay and make all other cost more.
Good infrastructure enables small batches
If you have CI/CD with tests and deploys all automated, it makes it easier to handle small batches and do many releases on a daily basis
Feature flags can reduce batch size
Feature flags let you deliver new feature faster for a few customer, reducing risks, accelerating feedback loops.
To reduce batch size reduce scope.
Decide to deliver less to deliver faster and in time.
To do wait 100% of the requirement to start designing and coding. these requirement will always change a long the way.
Converging fast to Solutions
Reducing your Batch Sizes
- Principles of Product Development FlowThis book is about techniques to improve your product development flow In manufacturing you generate value creating the same product In product development you only generate value…
- Feedback LoopIt is another great Mental Models We can have a Positive Feedback Loop where we reinforce some, A influences B that influence A. It results in growth or declines, it is based on…
- How to Take Smart NotesSuccessful writing comes from good note taking “Getting something that is already written into another written piece is incomparably easier than assembling everything in your mind…
- Principles of Product Development FlowThis book is about techniques to improve your product development flow In manufacturing you generate value creating the same product In product development you only generate value…
- Chrome history as my memoryI use chrome web browser history as my archive of links/websites that I visited. Every time someone ask a question I can easily find a good link to answer that Links Second Brain
- CompletionAs developers we are used to code completion in our IDE, where the IDE suggest how to complete what we are typing. We also have bash completion to complete our commands in…
- Creative ThinkingCreative Thinking is when you create new fresh ideas Over Thinking is to create ideas based on other ideas One way to avoid blocks in creative thinking is to always do a bit of…
- DecisionsWe need to make many decisions in a daily basis Decisions takes our energy and time Try to reduce your decisions to have more energy and time to focus on what matters How to Take…
- developer measure/outputquantity: is the developer producing more? quality: is the developer shipping with fewer bugs? speed: is the developer shipping faster?
Sign in with GitHub to reply.
Select any passage to quote it.
Comments