This document provides advice for implementing DevOps practices in an established "brownfields" environment. It emphasizes starting small with internal projects, focusing on areas like culture, automation, and sharing to generate momentum. Continuous improvement is key, with feedback loops, small iterative changes, and a willingness to learn from mistakes. Collaboration across teams is important to further adoption.
4. Define what devops means to you
3 ways? 5 whys? 12 factors? 31 flavors?
You can’t evangelize what you can’t define.
https://www.flickr.com/photos/duncan/3211453858/
5. Keep CALMS and carry on
Start by focusing on one or two: Culture, Automation, Lean,
Measurement, Sharing.
Cropped from: https://www.flickr.com/photos/antbaena/4587518836
6. Get everyone on your team on board
Talk to people’s pain points. Discuss real problems and how devops
approaches could help solve them.
http://commons.wikimedia.org/wiki/File:Stott_Park_Bobbin_Mill_Steam_Engine.jpg
7. Get everyone on your team on board
Build ways to offload work into your plans to make time for new
projects.
http://commons.wikimedia.org/wiki/File:Stott_Park_Bobbin_Mill_Steam_Engine.jpg
8. Define your objectives
… and how you measure (M in CALMS) progress
(Pro tip: use Maturity models)
https://www.flickr.com/photos/dullhunk/7214525854
9. Define objectives ~your~ team can meet
Start with small, internal projects to generate momentum as well as
enthusiasm.
https://www.flickr.com/photos/86530412@N02/7987532186
10. Minimal viable ducks
Iterate, break things into small doable pieces, don’t get intimidated by
scope, reduce it
https://www.flickr.com/photos/therussiansarehere/3124952543
11. Don’t be the tool
Once automation is in place it’s much easier to change your toolkits.
http://commons.wikimedia.org/wiki/File:Rusty_tools.JPG
12. Help others help you
Publish things like best practices and processes to help others
understand what you need or expect from them and why.
https://www.flickr.com/photos/cdm/35919132
13. Get out of your own way
Do you add value to this process? If not, replace yourself with a small shell script.
14. The Customer is always right
Listen. Don’t be defensive. Do be open minded.
15. Get other teams on board
Now that you have a map to your shiny unicorn palace, start looking for
advocates on other teams.
http://pixabay.com/en/teamwork-suit-work-economy-finance-453484/
making sausage, legacy systems, tribal knowledge, silos
You can’t evangelize what you can’t define.
pick your battles and decide where to focus first
You have GOT to have your team behind you, it’ll never work unless everyone pitches in
Talk to people’s pain points and discuss real problems.
Explain how devops approaches could help solve them.
If your team is already stressed, make a plan and explain to them how you will offload work before introducing new concepts
You have GOT to have your team behind you, it’ll never work unless everyone pitches in
Talk to people’s pain points and discuss real problems.
Explain how devops approaches could help solve them.
If your team is already stressed, make a plan and explain to them how you will offload work before introducing new concepts
(pst, this is part of the M in CALMS)
You can’t improve what you don’t understand. Use Maturity Models to help you understand where you are and where you should be headed.
Start with small, internal projects to generate momentum as well as enthusiasm.
Target frequent annoyances, preferably ones that affect / bother other teams as well.
I have a secret, I automate bad processes. Everyone will tell you this is bad but don’t believe them. It A) removes human error B) allows that task to be delegated when possible
You can't wait for all your ducks to align; mathmatically you only need 2 of them to have a row
Iterate, break things into small doable pieces, don’t get intimidated by scope, reduce it
Don’t get too hung up on picking the perfect one as the expense of using something.
Once automation is in place it’s much easier to change your toolkits.
Publish things like best practices and processes to help others understand what you need or expect from them and why.
Ask yourself “Do I add value to this process?” If the answer is “No”, replace yourself with a small shell script.
it’s valid NOT to do something if your team doesn’t add value to the process
Define who your customers are and talk and more importantly LISTEN to them about their needs.
Don’t be defensive. Do be open minded.
Now that you can talk up your team’s awesome transformation, it’s much easier to sell others.
Is there anyone that could be your advocate in your partner team(s)?
Don’t ever stop this process. Keep talking, meeting, reviewing and evaluating.
Are your strategies working? (revisit your Measurements)
Don’t get frustrated when you’re refactoring your protocols and tooling for the 10th time, that’s PROGRESS!
Learn from your rights, not just your wrongs
I knew a company that was 2 years into figuring out their strategy and hadn’t finished!
Any progress is good progress when you need to replace the wheels on a moving car.