approach / Principles

Work in small batches

Working in small batches is an important principle for high-performance teams in software development. This keeps the team super engaged and motivated because they can see the end result of their work much quicker. But for this principle to work correctly and to reach its full potential, it is necessary to choose a continuous delivery software development approach. CI / CD approach has found widespread use to replace legacy software development approaches.

How it worked back then

In old-school phased approaches, software development involves transferring code from developer to tester, and from tester to release manager. This is traditionally a very risky approach as the feedback loop for changes is very long. It also requires a lot of human and time costs. In today's world, it can not provide the appropriate speed and responsiveness that a business requires.

How it works now

CI / CD are techniques that transform build, test and deployment processes into an automated system. By using these techniques, the entire process can be broken down into several stages, which can shorten the entire feedback loop and automate repetitive tasks. This significantly speeds up the software release process.

Working in small batches is an important principle in continuous delivery software development where feedback loops are important, as you want to quickly learn how successful is your solution for a customer.

Benefits of working in small batches

  • Working in small batches reduces the time to receive feedback on the work that is done
  • Smaller changes help reduce the complexity of rollouts and launches helping you reduce risk during deploys
  • Allows you to rapidly test hypotheses about whether a particular improvement is likely to have the effect you want, and if not, lets you course correct or revisit assumptions
  • Increases the efficiency of the team and keeps motivation of a team at a high level
  • Simplifies the detection and elimination of problems and bugs
  • Well applicable to create a minimum viable product
  • Keeps your organization from the sunk cost delusion

How to work in small batches

  • When planning new features, break them down into batches of work that can be completed in a short time frame.
  • Make batches of work independent from each other. This will allow you to develop, deploy, and test them in any order.
  • Qualitatively evaluate the time spent working on a batch during a sprint.
  • Agree that each batch can be revised after receiving feedback.
  • In sprints, plan to work on the most important batches first.
  • Each batch must be tested as a working piece that meets all requirements and expectations.