Two years ago I wrote about why new year’s resolutions suck and why set myself some SMART objectives for 2016 instead. SMART objectives have the following five attributes: S pecifc M easurable A ttainable R ealistic T ime-related I’ve used SMART objectives in business because they are good for motivation and accountability. Most new year’s resolutions are broken because they fail to possess some of these attributes.…

Your branching strategy should mirror your reality
People have their religions about the “right” way to do branching. Unfortunately, the real world is rarely that simple. There is the “always develop on main” tribe, who attest that branches are evil and anything other than working on main means you aren’t doing continuous integration, which makes you evil. There is the “do all your work on branches” tribe,…

DevOps, Culture and Trust
The slide above is from my DevOps 101 session. Sometimes people need reminding. DevOps is about five things: C – ulture a – utomation l – ean m – etrics s – haring First, and with a capital letter, comes Culture. Let’s talk about why. Dysfunctional teams As a consultant, the engagements I find frustrating are where a customer asks…

Doing the right thing
I enjoyed solving problems and helping people achieve great things. I got a lot of scope to achieve this in my role because our software was pretty awesome – but at the end of the day the measure of my success was how many licences I could help to sell. I wanted the measure of my success to be how…

Developing databases: shared vs dedicated?
If your dev team builds C# projects, each developer will be compiling their code locally to test it out before committing any changes to source control. Then the version of the source code that exists in source control will be used whenever the code is deployed to live. This means there is a single source of truth and a complete…

Three People Who Made a Difference
This blog post is part of T-SQL Tuesday #96 – Three People Who Made a Difference, hosted by Ewald Cress. T-SQL Tuesday is an online blog party started by Adam Mechanic and you are invited to join in. A record of every previous T-SQL Tuesday is maintained by Steve Jones. Chris O’Dell (book|t) My very first speaking experience was a bit of…

Rolling back database changes
@_AlexYates_ Hi, Could you give insight how rollback work with Database CI/CD? — Gourav Sharma (@sharmagourav) October 30, 2017 A thorny topic. Rolling back code is easy. Normally you can just redeploy the old binaries and you’re done. Databases are more difficult – because data. The existence of persistent data has two significant consequences: You can’t just redeploy the entire…

Managing Artifacts with the Redgate Create Release step template from the Octopus Deploy Library
When I quit my job at Redgate to be a consultant I thought I’d have more time to blog. Boy was that naive! It turns out running your own company is a bit of a time sink. Anyway, I thought it was about time I wrote a proper technical blog post. But I’ll keep it quick. I’ve got to get…

T-SQL Tuesday #90 – You are doing “Continuous Integration” wrong!
It’s still Tuesday alright… In the USA anyway. (And by the USA I mean Hawaii.) This blog post is part of T-SQL Tuesday #90 – Shipping Database Changes, hosted by James Anderson. T-SQL Tuesday is an online blog party started by Adam Mechanic and you are invited to join in. A record of every previous T-SQL Tuesday is maintained by Steve Jones.…

DLM Consultants are partnering with Octopus Deploy
I’ve been a fan of Octopus Deploy for a while. (Even when it was one of my direct competitors if I’m honest!) And now I’m proud to announce that DLM Consultants will become an official Octopus Deploy partner! What I want from my partnerships Now this has forced me to think a little more carefully about what I want from…