Now, there are several ways how to tackle the "It works on my machine" problem. One extreme might be: Use Docker and automation everywhere. The other one could by a Hollywood scripted documentation containing steps for building, deploying and configuring an application. I guess, the solution is very individual and looks quite different for every case. The most important part for me is, to focus on the right things and find a balance between automation (control) and individuality (freedom).

Things to put under control can be configuration, deployment automation, build environment and how the runtime is setup. There are for sure environments, you can't control at all or only small parts. Every part you can control yourself or create a standard way to set it up is a win. But be careful: Always ask yourself: Is it the right thing I want to control, does it add value or is it just because it's trendy and adds just complexity.

If you want to know more how to tackle "It worked on my machine", visit this blog post or watch the discussion, hosted by Electric Cloud.