Lessons from DevOps Leadership Training
The last month, I attended DevOps Foundation & Leadership training.
While I am glad about passing both exams ( Foundation & Leadership ), I am delighted more about lessons that I concluded from training.
It’s worth to mention My funny 😅story with DevOps before mentioning these lessons.
Indeed, I worked within a DevOps environment since 2016 with Polish vendors: namely The-Software-House.
That time, I didn’t know even the terminology “DevOps” 😁 even though I was working in an aggressive DevOps environment.
One day ( in 2016), I sent a message in the Slack channel to the development team of Poland saying :
“I will be assisting you to deploy your apps on AWS and provisioning the required AWS infra”. or something like this.
The COO of the The-Software-House , Tomasz Janiczek, replied back
“So you are our DevOps engineer”.
I interpreted the word that time as two chunks :
- “Dev” since I was developing amazing frontend apps using React,
- and “Ops” since I was assigned the responsibility of maintaining the AWS infrastructure in term of production deployment, provisioning, HA.
After 3 years and specially the last month, I decided to attend the DevOps Leadership Training.
I was convinced that I will learn new things , namely, mapping new terminologies/lessons with my past DevOps practices and experience :
- In Bureaucratic culture, managers meet together to make decisions without involving teams (implementers) at an earlier stages.
- In DevOps environment, Dev team ( Tech team) is involved at an earlier stage, owner ,accountable and self-organized . It has enough capabilities to take decision and move on.
- DevOps environment is Performance oriented , delivering VALUE
- Bureaucratic culture is Rule oriented, delivering TASK
- In DevOps environment, a failure is a learning opportunity
- In traditional IT, a failure leads to justice and scapegoating.
- In DevOps environment, the Definition of “DONE” is “it’s ready to deploy/to be used by customer”.
- In traditional IT, the Definition of “DONE” is “I did my job ” even if your work will be thrown against the wall 😏
- DevOps transformation must comply with change management phases:
— — 1. Prepare for Change : Value Stream Mapping
— — 2. Manage the Change: Pilot
— — 3. Reinforce the Change: Rollout
- The first step in a successful DevOps transformation is VSM.
- Value Stream Mapping or VSM is used to identify waste, it will never figure out the solution to remove the waste. Based on VSM findings, the team has to figure out solutions.
- CI/CD is about the Speed, frequency but also reliability of deployment.
- Measure everything. Don’t introduce new thing ( unit-test, CI ,… ) because others do it. Introduce it to remove the waste and bring value. Prove that it bring value using metrics. Measure before introduction of this new thing, and measure continuously after introducing it.
- Time is the key performance metric as Time affects other metrics: Cost, Capacity.