DevOps: More Than Automation

Type “devops” into any job search site today and the overwhelming majority of results will be for some variation of “DevOps Engineer”. The skills required will centre on tools like Puppet/Chef/Ansible, AWS/Azure, scripting in Python/Perl/Bash/PowerShell etc. Essentially, they’ve taken a deployment automation engineer role, crossed out “deployment automation” and written “DevOps” in its place.

There’s nothing wrong with hiring deployment automation (or, if you must, DevOps) engineers if you don’t have enough people with the right skills to deliver the deployment automation part of your DevOps strategy. The real problem is when hiring DevOps engineers is your DevOps strategy. Continue reading “DevOps: More Than Automation”

MVP Ain’t Broke

Lately everyone’s trying to fix or replace the concept of MVP (minimum viable product) in Agile software development, but MVP ain’t broke, and doesn’t need fixing.

For anyone who’s forgotten, here’s Eric Ries’ definition of MVP: “the minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.”
Continue reading “MVP Ain’t Broke”

Continuous delivery isn’t scary, it’s necessary

Continuous delivery shouldn’t be a controversial subject in the world of Agile software development – the third principle behind the Agile manifesto all but requires it: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” Yet as with true iteration, enterprises embracing Agile software development often balk at the idea.
Continue reading “Continuous delivery isn’t scary, it’s necessary”

Agile needs iteration, not just incrementation

The values and principles of the Agile Manifesto are explicit about the need for frequent releases of working software, which must be iterations of the product, not simply increments of a plan made prior to commencing development. Yet the iterative approach – necessarily including re-work to features that are already delivered – often faces strong opposition from within enterprises, even those that are enthusiastically embracing Agile.

Continue reading “Agile needs iteration, not just incrementation”

Why Containerise?

By now, if your organisation has anything to do with building or running any kind of service on the Internet, you’ve probably started hearing about Docker, and perhaps even the term “containerisation” (of which Docker is the most popular implementation). So, what is it, and why are people so excited about it? Continue reading “Why Containerise?”