Several months ago I did a personality test, the results of which stated that I am, and I always will be, sceptical about new ideas. In my opinion this description fits me in 100%. I can hardly find something that would put me on my knees, but since I read about DevOps I’ve had two enthusiastic thoughts about it:
- It’s really difficult to define exactly what it is (which is brilliant),
- I have seen some articles that try to define how to implement DevOps in companies, but in the end the authors repeatedly admitted that there are no golden rules as to doing it properly, and for sure there is no one best practice universally applicable for every organisational circumstance(yet?). As I was trying to learn more about this method, I could only come to the conclusion that it is all about broadly-defined assumptions aimed at tightening and streamlining the cooperation between Development and IT Operation departments. And it is worth underlining that numerous authors pointed to the company’s culture as the most important factor to run DevOps – far from waterfall approach (which is based on clearly separated stages of planning and execution).
- IT folks are once again ahead of necessity (and it blows my mind).
- All companies are now willing to change rapidly in an effort to answer environment needs that are almost impossible to predict. One of the most turbulent sectors that needs to face this unpredictability is definitely IT. Product lifetime cycle almost never withstands for a year in unchanged form. This might be the reason why IT specialists put so much effort to solving this problem, and in some ways they succeed.
Main assumptions of DevOps
- Continuous improvement
- “Continuous improvement is better than delayed perfection” (M. Twain) – what is nowadays the main and the most common managerial answer to challenges forms the very foundation of the DevOps approach. In a nutshell, the trick lays is trying to minimise the time between successive iterations.In the step-by-step approach (long planning, then running execution…), the answer often comes too late. Instead, the goal here is to realise each solution and verify each specific action as soon as possible.
- “Machines are much better than humans at executing long lists of complex tasks quickly, in the right order and without” (G. Lea), so it seems logical to use automation whenever possible and reasonable.
- Tightening cooperation between teams
- The biggest organisational nightmare in every company the “not my problem” attitude between the teams. What is crucial about DevOps is that it tries to prevent separation of specific departments’ goals by making them equally responsible for the results.
How DevOps method can help in management?
- Put “continuous improvement” culture first
- It’s time to finally admit that “culture eats strategy for breakfast”. The way that members of the team behave defines the competitive advantage of the whole structure. Culture is thus critical, especially when it comes to continuous improvement..
- Automate all communication processes between teams
- To tighten the cooperation between teams there is a need to make it happen in real time – automation is a “must have”. Moreover, in order not to dilute responsibility, everything that happens in the company needs to be process-driven. Without conscious thought regarding communication systems, there is no chance for your strategy to be agile.
DevOps spirit in managing medium and big companies (tools level) – application example
Manager should manage the system, not people. Change system to release people’s potential and let them work in their own way.
We have learnt to use Jira software (for ourselves and our customers) as the solution that:
- allows to run all processes by continuous improvement approach,
- fully automates communication processes between several teams
Continuous improvement driven by Jira
Making team to work in continuous improvement structure can be achieved by one of main JIRA functionalities – Kanban Boards.
Here you can manage whole issues (tickets/tasks) on one board, where the ability to see the global process can help you achieve measurable results in single parts of time – in software development it’s called Sprint. It works like setting the specific number of tasks to do , and then moving them through defined silos (with monitoring, supporting, assessing and checking if everything runs correctly) within designated time.
Automated communication process driven by Jira
Jira is a ticketing system, where specific issue goes through each step of the predefined process. This way of automation allows not to think about the company structure and membership, instead the main emphasis is on process efficiency. Employee spends more time on tasks realization – in horizontal perspective – rather than waiting for the manager to tell him what to do.
This approach allows to flatten the organizational structure, decrease manager’s’ involvement, and in the end make it all more in DevOps spirit.
To sum up
I’m not a tech guy, I can only speak as a CMO and a business consultant with 10 years of experience. Some of you might say that what I have written about DevOps here is already implemented in your company, etc., but I have never seen such rapid results in improving “continuous improvement culture” and in automatisation of as when proper software solution gets implemented.. It always demands changing the way of thinking, but it moves the whole company on to good tracks.
If you would like to learn more please contact us.