Business and IT only run at one of two speeds anymore: fast and purposeful, and fast and reckless. Managing the difference between purposeful and reckless comes with some initial scrapes and bruises. In an article for InformationWeek, Russell Smith, CTO of Rainforest, shares the lessons he and his engineers have learned in the pursuit of better continuous delivery:
- Release in small increments.
- Use pull requests.
- Find the right reviewer.
- Benchmark for performance.
- Conduct continuous QA.
- Automate wherever possible.
- Build the right stack.
Made to Deliver
The smaller the increments you release in, the less risk there is of something going wrong, and if something goes wrong anyway—it should be easy to find out why. Continuous QA will of course play a part here too. Particularly, code review should not be allowed to become a bottleneck. Processes should be arranged such that nobody is waiting for the time of a few valuable senior developers to open up; this probably means allowing peer review.
About pull requests, Smith says this:
Pull requests allow you to separate the features you’re working on, update them, and then merge them back into the releasable branch. Github is your friend here. Our code always starts out on a feature branch — committing directly to the master branch leaves too much room for error. When the author is convinced the code is ready to ship, they make a pull request. When unit tests have been run and the reviewer is satisfied, the code is merged to the develop branch. An automatic release from develop through to production happens from here out, covering QA, unit tests, migrations and releasing.
In any case, for the smoothest work, you need a stack that is optimized to your needs. Explore the options, listen to word of mouth, and do some experiments. And yes, benchmark performance. Smith suggests adding an automated benchmark suite to your CI build for apps where high performance is crucial.
You can view the original article here: http://www.informationweek.com/devops/continuous-delivery-7-hard-earned-lessons-for-getting-it-right/a/d-id/1328684