The Hudson’s Bay Company is an organization known for challenging the status quo. HBC’s engineering group is no different. HBC engineers are constantly looking for ways to improve the speed and quality of the software that runs our business.
Continuous Delivery
Like many organizations, we have improved our systems by adopting Continuous Delivery practices. Continuous Delivery isn’t a new concept. But it does take time for organizations to embrace all of the principles and to achieve its full potential.
Work in small batches
One of the core principles of Continuous Delivery is “work in small batches”. Engineering teams that focus on small batch delivery can achieve higher quality and better efficiency.
Small Batch Deployments
HBC employs a technique that we call “small batch deployments”. Our engineering teams favor small code deployments over large code deployments. The benefits of small deployments are self-evident:
- small deployments are easier to understand
- small deployments are easier to review
- small deployments are easier to test
- small deployments are easier to rollback
Small Batch Success
HBC is not the only organization that practices small batch deployments. This approach has proven successful at Facebook, Instagram, Flickr, Etsy, Starbucks, and Flow Commerce.
The notion of “small batches” has been discussed in software development literature for over a decade. The following presentation illustrates how prevalent “small batch” has become in the field of software engineering:
Final thoughts
The practice of “small batch deployments” has proven successful at HBC. Our engineering teams have been able to deliver higher quality systems with less risk to the business. This approach benefits both our engineers and our business stakeholders.