August 28, 2013

Five Tips for Practicing Continuous Delivery

Continuous Delivery
Traceability

continuous delivery

It’s becoming increasingly difficult for software developers to keep pace with today’s faster release cycles. What used to be released every 12 or 24 months may now be delivered on the hour. You’ve likely heard about how Continuous Delivery can reduce the distance between a developer making a change and that change benefiting a customer. However, it’s important to remember that one does not simply implement Continuous Delivery—it’s much more of a journey than that.

To help you on your path, we offer these five tips for Continuous Delivery. Please consider these guidelines for automating and improving development processes across the phases of your delivery pipeline.

  1. Value the creatives: The delivery pipeline should treat non-software assets as first-class components. A modern, user-facing software product that does not include professional graphics won’t get very far in the market. Developers love to see their commits progressing toward delivery. Show the same kindness to artists with their graphics and media and they will feel much more involved in the whole process.
     
  2. Don’t let product owners off the hook: Be sure to keep the people writing the requirements close. Not only is it cool to trace a final build back to a requirement, but teams can also start automated testing of requirements. If there is no definition of “done” or no test outline, that’s a failure at the first stage of the pipeline, before coding has even started.
     
  3. Learn to love the Operations team: In many companies, the operations team has a good reason to keep their fingers on the deploy button. Development's job is to give them a build fit to deploy according to their standards. Learn to speak their language and respect the rules they live by. A good place to start is, Information Technology Infrastructure Library (ITIL).
     
  4. Invest in infrastructure: For Continuous delivery strategy to be successful, a tight feedback loop is required. For example, the immediate feedback of the latest change from build and test automation allows one to detect problems early on. It is important to invest in the underlying infrastructure that allows for the mainline versioning service to perform to support the immediate feedback requirement and also scale to distributed teams.
     
  5. Stay ahead of the curve: If your competitors aren’t yet practicing continuous delivery, you may just have found a competitive advantage for the next three years.

Many of the world’s most innovative and successful companies are using Perforce as the conveyor belt for Continuous Development and Continuous Delivery. In fact, we recently recognized Edmunds.com with a Versionary Award for their success in this area. Stay tuned to our blog posts and forums for examples coming soon.

 

Furkan Khan is Director of Product Management at Perforce Software.