I often twitter on about the value being in the planning and the share understanding it creates not in the plan, about command intent and allowing good people to do a great job, but this in not always the case and sometimes, when it is right to do so you can and should plan things out a bit more.
We are building out a new development pipe-line at the moment and when I tell people this they invariably immediately say.
“Ah so you are looking to do DevOps then”
Which is kind of sad because it means they are missing the whole point of DevOps, it is so much more than simply getting Jenkins installed and automating the development process from check-in, through build and test to deployment.
However, I am not going to rehash this as so many have done before me, if you want to know about DevOps and why it’s something you must do then just read Jez Humbles Continuous Delivery book or the more recent and excellent DevOps Handbook or watch one of his many videos.
I suppose the whole point here is that because so many people have done this before and because there is nothing completely new or unknown to do, to a large extent you can plan it out. We are not building a brand new product, we don’t need so get all Eric Ries or Marty Cagan on it.
Yes the context is different so the odds are something will and has emerged as we have gone along, we can handle that which is why we have experts after all.
Technical risk is low, we are using a mature product set in IT terms anyway and we have a known set of techniques and some rules of thumb that we get from Jez’s books.
So we could and did sit down and map the process out with a reasonable belief that what we are came out with will be accurate.
This is the Cynefin complicated domain, not complex, nothing to see here and there is nothing wrong with creating a plan* when it’s appropriate to do so.
But its still not DevOps.
*Note I said high level plan not Gannt chart,