June 21, 2013

Early and Agile Feedback: Swarm and Continuous Delivery

Continuous Delivery

Practitioners of continuous delivery know that committing to the mainline frequently (once a day) is a best practice. Anything that discourages this practice is to be avoided.

So where does that leave code review? Code review is a great way to get expert eyes on your work and improve quality. But a laborious code review process will slow you down and stop you from checking in as often as you’d like. And a post-facto code review will uncover problems that may pass the early testing phases in the delivery pipeline, but cause more expensive failures later.

Perforce Swarm offers an elegant solution to this dilemma: Fast and powerful pre-flight review that's closely tied to continuous integration. Swarm lets you quickly start a review from a shelved change, a change that is stored in Perforce but is not yet officially submitted. Your team members can pick up the review and offer immediate feedback. Simultaneously, Swarm will invoke a pre-flight continuous integration build and show you the results of the build and test process.

Why not just practice pair programming, commit, and let the normal CI process run its course? For starters, you may not have the right people at the same location for pair programming. If the expert you need works at another site, you’ll appreciate Swarm’s web-based collaboration chops. The value of pre-flight CI is that you get an early vote of confidence in your work – and you won’t be stuck fixing a broken build if your commit makes some of the tests fail.

Swarm makes the whole process so easy that you can exercise pre-flight review and CI for all your changes and still commit to the mainline on a regular basis. You don’t need extra branches or complicated CI machinery, just shelves and Swarm.

Swarm gives you early feedback from your peers and automated build and test systems, without slowing you down. It’s the Agile way to roll-up code review and continuous delivery best practices.