At Shift, we believe in delivering frequently to create successful software products. It's not only important to the quality but also the efficiency of the software development team. In the software community, we call this continuous delivery. In order to explain this a little better, we'll start with an example.
THE ENVELOPE ANALOGY
Imagine you are tasked with preparing 100 letters to be mailed. Each letter needs to be signed, folded, put in an envelope, sealed and stamped. Typically one would batch each step and do all 100 at once.
Actually, doing each of the five processes in one big batch (signing all 100, then folding all 100, and so on) fails to prove that more envelopes are completed and delivered. But, breaking up the process into smaller batches (one fully ready-to-mail envelope at a time) supports the theory that doing things in small batches actually accomplishes processes faster and enables people to see where inefficiencies lie sooner.
HOW DOES THAT RELATE TO SOFTWARE DEVELOPMENT?
Think of the process of delivering software, and the steps needed:
These could all be done for an entire product (one big batch), with each step completed before moving on to the next step. Meaning no input from the client during the process, no testing until completion — you see the risk.
Alternatively, like with the envelopes, different parts of a product can be worked on and completed (small batches), with each batch delivering a completed part of the product. At Shift, continuous delivery is one of the many areas we consult clients on.
THE SMALL BATCH APPROACH
This small batch approach, or continuous delivery, has many advantages. Small batch Delivery cycles are typically 1-2 weeks in duration. So, one of the biggest advantages of short delivery cycles is that you see results quickly. Especially at larger companies, speed and frequent check-ins can be a refreshing change of pace.
In software development, a batch would be the equivalent of a Delivery Cycle. A large batch where everything is done before the client sees any results could be many months long — way too long for a client to not see work and provide feedback.
HOW DOES THIS HELP SOFTWARE DELIVERY?
Using short delivery cycles keeps the team focused on that cycle’s deliverables only, without the distraction of urgent issues arising that can’t wait for a months-long cycle to complete. The result is the team is able to accomplish more in less time. So how does this help?
So in short this is why we at Shift believe delivering frequently is key to building a successful product. Have a project you think could benefit from this approach? Reach out today.