Day 4 is DevOps Day! Ok so, had another really busy day at work today however I’m taking into consideration I managed to get a bit of reading in well into the wee hours this morning!
DevOps reading has begun! I managed to squeeze in the first 4 chapters of DevOps for Dummies so just one more chapter to go for the ‘Demystifying DevOps’ Section.
PaperBack Edition: https://amzn.to/3gEXquL
In short I was really pleased to get a good chunk covering 4 out of 23 Chapters Covered off of the book. I’m still reading now so Ill probably get a couple more chapters covered off this evening.
The Book is structured into 6 sections:
- Part 1 Demystifying DevOps (Ch1-5)
- Part 2 Establishing a Pipeline (Ch6-11)
- Part 3 Connecting the Circuit (Ch12-15)
- Part 4 Practicing Kaisan, the Art of Continuous Improvement (Ch16-18)
- Part 5 Tooling Your DevOps Practice (Ch19-21)
- Part 6 The Part of Tens (Ch22-23)
So, as I have mentioned in a previous post, the last 9-10 years of my working career have firmly been in the Ops side of this Dev Ops equation and over the last few years I have read snippets of DevOps, I’ve done a bit of coding and scripting, albeit a far cry from a full time Development job. However I do have a bit of Developer in me from my previous roles. As part of the 100DaysOfCloud Challenge I have made it my mission to read a full book cover to cover to give me a good grounding of DevOps from the ‘today’ viewpoint. Not linked to any particular technology, but just to read and fully understand the basic principles of the mindset.
Chapters 1-4 have not disappointed.
What have I learned?
After reading through the first 4 chapters, the basic premis of Part 1 is to aim to set the record as straight as the author can on DevOps, I’m sure like me you have heard many terms, practices and methodologies all described as DevOps, some liked to tehcnical products, and some linked to ways of working. I guess none of them are wrong, but I wanted to understand the base principles of this working methodology and learn how much I use in my day job, how much I know already and how much I dont know. I must say the results were comforting and exciting.
Chapter 1 – What is DevOps?
Sounds like a good starting point. and Ill try and bullet the salient points:
- DevOps derived its methodologies from Agile principles and has its routes in the Lean Manufacturing Principles that were developed by Toyota
- DevOps focused on people and is a philosophy around engineering teams working with operational teams in harmony, its not necessarily just about technologies.
- Company culture is at the heart of DevOps, avoid blame, grow trust and focus on the Customer.
- You learn to continually improve by observing and collecting pertinent data related and relevant to your organisation and its processes.
- Persuasion to shift to DevOps is required to get people and organisations to buy into the mindset and philosophy.
- Small, incremental changes are key.
- Keeping CALMS: Culture, Automation, Lean, Measure, Share
- DevOps is used to solve problems of conflicting interests.
Chapter 2 – Designing Your Organisation
- Assess Culture and its Health
- Integrating DevOps into the workplace, may require culture shift, empower staff, encourage collaboration and sharing of knowledge and learn freely.
- Establish DevOps Values: Encourage Teamwork, Reduce Silos, Practice Systems Thinking, Embrace Failure, Communicate Communicate Communicate Communicate, Accept feedback, Automate process where appropriate,
- Model your companies culture, are you in a Clan, a Metiocracy, a Holacracy, or a Traditional Hierarchy. Sometimes this isn’t always a simple answer, i.e. a traditional hierarchy can have other elements sporadically throughout, typically larger businesses are like this.
- Avoid the worst of tech culture and craft a vision for the future.
- Incentivise Vales
- Conduct Anonymous Evaluations
- Employee Rewards are not always pay increases
Chapter 3 – Identifying Waste
- 7 Types of Waste: Unnecessary Process, Waiting, Motion, Costs of Defects, Overproduction, Transportation, Inventory
- Understanding Waste in DevOps, ‘Muda’ Waste; ‘Muri’ Overburden; ‘Mura’ Unevenness
- Principles of the Toyota Production System (TPS). 14 core principles which can support any DevOps Process.
- Long term reputation even at the expense of short term losses
- Create continuous process flow to reveal problem areas
- Identify the Value Add instead of embracing every ‘good’ idea
- Don’t burn people out of overburden equipment
- Prioritise quality and empower everyone to halt a process if necessary
- Standardise processes to provide consistency
- Create visual tools for everything to ensure problems cannot be hidden
- Technology comes second to people and process
- Train and educate employees
- Grow employees who believe in the companies culture and philosophy
- Help business partners improve
- Managers must ‘go and see’ any problem first hand and with their own eyes so they can fully understand the problem
- Decide slowly but implement quickly
- Reflect (hensei) on feedback and continuously improve (kaizen) to serve customers
- Root out waste
- Discover bottlenecks
- Focus on the impact of waste removal
- If bottlenecks are discovered its not always the case of increasing head count. If bottlenecks cannot be overcome, build in buffer tasks, simple easy tasks to keep staff occupied.
- Eliminate unnecessary activities, simply remove them and add them back in if it is found they are needed.
Chapter 4 – Persuading Colleagues to try DevOps
- Understanding the Fear of Change
- Persuade those around you to shift to DevOps
- Earn Exec Support
- Create Groundswell in Engineering teams
- Manage the middle managers last
- Persuading the stubborn
- Understanding the adoption curve
- Push for change
- Respond to pushback
- Navigate the Chasm
- Use the 5 ‘Whys’ to uncover root cause analysis
So far the early part of the book it quite riveting in the sense that I am able to compare and contract my ways of working to that of the DevOps process, there are a lot of similarities and I currently work with a lot of the above principles in mind, and of course there are definitely areas of improvement. But fundamentally for me, I’m pleased to actually relate this to principles that I didn’t know I knew and how this relates to the wider story of the DevOps mindset.
The book has broken down each of the points above with some great insight and anecdotal stories form the author on the reasons behind the ethos and mindset.
I do hope you have learned something from this summary Blog, I know I have learned a lot already. I will continue through the process of reading this book and aim to get it done over a few days and then I think I will look at jumping into some of the coding tutorials around python/terraform etc. and see where that takes me.
Really looking forward to continuing the reading!!!
My Main ReadMe Page is all set up with a bit about me!
The guys at 100DaysofCloud have set up the GitHub repo to be cloned and also have a great repo containing ideas and areas to collaborate on: https://github.com/100DaysOfCloud/100DaysOfCloudIdeas
My Github Journey tracker can be found here: https://github.com/jonnychipz/100DaysOfCloud
Please Watch/Star my repo and feel free to comment of contribute to anything I push! I really look forward to hearing from anyone who is going to jump on the journey around the same time as me! Lets see where I get to in 100 days!
I would encourage others to jump on this journey, I’m not sure that I will be able to commit every day for 100 days, but as long as I can complete 100 days that will be great!