DevOps Consulting: I Think I Will

I posted a lengthy reply to a blog entitled “Devops Consulting: Why I Don’t” (essentially “devops doesn’t mean what you think it means, stop using it badly, there’s no such thing as a devops consultant”, which I disagree with since that’s what I’m trying to become!) so thought I may as well blog it as well to keep any discussion going. Your thoughts are appreciated.

To me a devops consultant is someone who is knowledgeable in many things from the entire length of the development lifecycle; like value stream mapping, impact mapping, fishbone/5 whys retrospectives, multiple development methodologies, various test automation frameworks, various build automation frameworks, various environment automation frameworks, release management tools, various reporting and monitoring frameworks, as well as the business knowledge to know how to put it all together to identify the best mix of things to suit a given company who is struggling to gain business benefit from their projects in a timely manner.

Not necessarily being an expert at hardcore technical depth in all of those areas, but knowing which tools to take out from the toolbox for which job.

I agree that the term devops is ambiguous and hugely incorrectly overused – mainly due to it sounding much like a person instead of a culture – but that doesn’t mean that the term can mean something that is a set of skills a consultant can have.

Recently I’ve started to think that it could be used in a similar fashion to “agile”; you could affix it to existing disciplines to expand their meaning:

devops engineer – someone who knows about implementing a CI process using build automation, packaging, and environment automation

devops tester – someone who knows about building testable software right from the idea initiation through development, defect tracking and reporting, test automation, and the resulting feedback loop

devops developer – bit trickier; possibly someone working on building or expanding the automation tools, as opposed to an application developer?

devops consultant – someone who can be dropped into a company, assess their processes, people, and technologies, and work out what changes would need to be made in order to achieve better throughput, where to make the changes and recommend which technologies to use (without necessarily being able to implement the changes themselves, but having the network of skilled devops-** people who can).

That’s my understanding of it anyway, Environment automation is one part of a big term – and may not even be the right answer for certain companies anyway.

Aside #6 – A Random Analogy; DevOps/Washing Up

Whilst I’ve been attempting to learn a new thing each month this year, I’ve been finding it really tricky to keep to the pretty loose schedule. As such, I though I’d try and note down every time a shiny new thing takes my interest, so that I have some idea why I’m incapable of completing a series of blog posts.

Random Analogy – DevOps For Washing Up

Random Washing Up Analogy

Waterfall

Getting all of the dishes ready to wash, clearing all of the space required to let them dry, washing everything in one go and setting it all to dry, then getting a towel and drying everything in one go, then putting everything away in one go.

Agile

Wash one sink full, put it on the drainer, stop washing and grab a towel, dry that load and put it away as you go – one iteration completed!

DevOps

My definition of the devops movement is not about a technology or a single process, but about getting everyone necessary to get something out of the door involved at the start. As such; get two people to help you out: one washes, one dries, one puts away. Continuous deployment 😉

Instigator
— Thinking about DevOps a lot in the run up to devopsdays, and my dishwasher breaking..!