It's reasonable to say that we're currently living in a world where continuous delivery is best practice for software development and delivery. However, in a world where we're deploying software anywhere from once every two weeks to ten times a day, our tooling for truly understanding what's being shipped has lagged behind our processes.
Sleuth was built to bridge this gap and to make this information available to your entire software development team. If you're not familiar with continuous delivery, here's an excellent summary from ThoughtWorks Chief Scientist Martin Fowler:
You’re doing continuous delivery when: Your software is deployable throughout its lifecycle. Your team prioritizes keeping the software deployable over working on new features. Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them. You can perform push-button deployments of any version of the software to any environment on demand.
Let's assume that you're doing it all: continuous delivery, frequent deployments, your code lives in Git, it's being written and reviewed via pull requests, and you're referencing issues in your commit messages. How do you answer the question of what, exactly, shipped today? How about this week? How many times did you deploy code this week? When exactly did the resolution of issue #134 find its way into production? Who were the authors of all those changes?
Existing tools such as GitHub and Bitbucket do an amazing job of storing our code, providing the facilities to do meaningful code review and allowing us to track our issues. All of the raw data we need to answer our deployment questions are there. What we need, however, is a deploy-centric view of our code base.
One that developers, product managers, support staff, management and our customers can easily grok and consume. Sleuth integrates with your GitHub or Bitbucket repositories and provides the deploy-centric view of your code that allows you to answer the question, what's shipped? By making a simple POST to Sleuth or setting up your project for auto-tracking, you tell Sleuth each time you deploy a revision of code.
Sleuth then analyzes your code changes to extract the pull requests, commits, issues, files and authors that comprised your deploy. A deploy-centric summary is then created for each deploy. It includes quick links to the full code diff on either GitHub or Bitbucket and indexes all of the information so you can quickly search and find the deploy you're looking for.
The real power's revealed over time and with aggregation.
You can easily see how often your team's deploying, how many pull requests you're shipping and what your bug fix cadence looks like. Execs can subscribe to a weekly email digest that provides them with a zoomed out view. Marketing can stay abreast of what the development team is shipping. Managers have a great view of their team's "real" delivery cadence. Developers can see when their code ships to production and what changed on the day a new bug was reported. Support teams can easily search to see if a bug fix has shipped to customers. You can pipe each deploy into your ChatOps rooms for broad visibility. Your entire team is empowered with information.
Knowing exactly what shipped and when is power!
Start tracking your deploys on Sleuth and fill in the missing tool for your continuous delivery.