My Little Pony -- DevOps is MagicSun 26 April 2020 by Moshe Zadka
(This article is based on the one I originally published on OpenSource.com.)
In 2010, the My Little Pony franchise was rebooted with the animated show My Little Pony: Friendship is Magic. The combination of accessibility to children with the sophisticated themes the show tackled garnered a following that cut across ages. I was swept up in the wave and discovered there is a lot to learn about DevOps from the show.
The show begins with Twilight Sparkle reading obscure documentation, only to realize that Equestria, where the show is set, is due to suffer a calamity. Though Nightmare Moon has been imprisoned for a thousand years, there is a prophecy she will return.
Lesson 1: Technical debt matters.
Document technical debt. Pay attention to the signs of risk no matter how infrequently they occur. Have a plan to resolve it.
Twilight Sparkle goes to her manager with the news, only to be told that it is not a current priority. She is sent to Ponyville to prepare for the coming celebration, instead.
Lesson 2: Communication with management is key.
Twilight Sparkle communicated her priority but did not convince her management that it was more important than the celebration.
We all need to make clear what the business case is for resolving critical issues. It is also not straightforward to explain technical debt in business terms. If management does not agree on the severity, find new ways to communicate the risk, and team up with others who speak that language.
As the prophecy has foreseen, Nightmare Moon returns and declares eternal night. Twilight quickly understands that she cannot resolve the issue by herself, and she recruits the ponies who will become, with her, the "Mane Six." They each stand for a different element of harmony — Applejack stands for Honesty, Fluttershy for Kindness, Pinkie Pie for Laughter, Rarity for Generosity, Rainbow Dash for Loyalty, and Twilight Sparkle herself for Magic.
Lesson 3: Few are the issues that can be resolved by one person.
When facing an outage, reach out to other people with complementary skills who can help you. It is best if they are different than you: different backgrounds leads to differing perspectives, and that can lead to better problem-solving.
Lesson 4: When resolving an outage, honest communication is key.
Throughout the struggle against the eternal night, the Mane Six have to speak openly and honestly about what's not working. Their blameless communication is part of problem-solving.
Lesson 5: When resolving an outage, kindness to yourself and to others is crucial.
Though tempers flare hot in the land of Equestria, we all benefit from coming back to working together.
Lesson 6: Laughter is important.
Even when everything comes crashing down, remember to take a break, drink a glass of water, and take a deep breath. Stressing out does not help anything.
Lesson 7: Be generous.
Even if you are not on-call right now, if your help is needed to resolve a problem, help out as you hope your colleagues will do for you.
Lesson 8: Be loyal.
An outage is not a time to settle rivalries between teams. Focus on how to collaborate and resolve the outage as a team.
Lesson 9: Though people skills are important, you have to understand the technology on a deep level.
Keep your tech skills sharp. Expertise is not only the ability to learn; it is knowing when that information is needed. Part of being an expert is practice.
After the issue is resolved, Princess Celestia realizes that the Mane Six are crucial to the long-term survival of Equestria, and tells Twilight Sparkle to stay in Ponyville and keep researching the magic of friendship.
Lesson 10: After an outage is resolved, conduct a review, take concrete lessons, and act on them.
I could go on, episode by episode, detailing lessons relevant for DevOps, but I will wrap up with one of my favorite ones.
In the "Winter Wrap-Up" episode, all the ponies in Ponyville help in preparing for the spring. As per tradition, they do not use magic, leaving Twilight Sparkle to wonder how she can contribute. Eventually, she realizes that she can help by making a checklist to make sure everything is done in the right order.
Lesson 11: When automation is impossible or inadvisable, write a solid checklist, and follow it. Do not depend on your memory.
Twilight Sparkle and the Mane Six overcome great obstacles as a team, and now have a system to improve as a team. I hope you, too, can help bring a collaborative DevOps culture to your work.