Release process being a Grinch before Christmas?? DevOps your way to a happy Whoville!
Every developer down in developsville liked developing a lot,
But the Ops team who live just north of developsville did not!
The Ops team hated development! The whole development season!
Now, please don’t ask why, no one quite knows the reason,
It could be that their systems weren’t quite right.
It could be perhaps that their deadlines were too tight.
But I think that most likely reason of all,
May have been that their budget was two sizes too small.
Whatever the reason, the budget or deadlines,
They stood there on Release Eve hating the new code lines.
Staring down from their office with a sour frown,
At the soft glow of monitors below in the cubical town.
For they knew every Developer in developsville beneath,
Was busy running unit tests for impending release.
“And they’re passing the tests!” they snarled with a sneer,
“Tomorrow is release! It’s practically here!”
Then they growled, with their fingers nervously drumming,
“I MUST find a way to stop release from coming!”
For tomorrow, they knew, all the developer girls and boys,
Would wake bright and early. They’d rush to release with joy!
And then! Oh the noise! Oh the, Noise!
Noise! Noise! Noise!
Then the Developers, young and old, would sit down to release,
And they’d release! And they’d release! And they’d release!
RELEASE! RELEASE! RELEASE!
They would release bug fixes and new feature sets,
The Ops team knew expectations of stability couldn’t be met.
And THEN they’d do something they liked least of all,
Every developer down in developsville, the tall and the small,
Would stand close together, with monitor alerts ringing.
They’d stand close together. And the developers would start releasing,
And the more the Ops Team thought of the chaos release would bring,
The more the team thought “We must stop this whole thing!”
“Why for 25 years I’ve put up with it now”
“I MUST stop this release from coming! But HOW?”
Then they had an idea! An Awful Idea!
The Ops Team got a WONDERFUL AWFUL IDEA!
“I know just what to do!” the Team laughed in their throats.
They rubbed their hands together and started to gloat
“All I need is a reason…” The Ops team looked around,
But, since good reasons are scarce there were none to be found
Did that stop the team? No! The team simply said,
“If I can’t find a reason, I’ll make one up instead!”
A Happier Developsville, a happier Ops Town
While typically not as intentional as outlined in the story, there is frequently tension between Development and Operations teams. Development teams focus on releasing features and bug fixes as frequently as possible while Operations teams want production environments to remain as stable as possible. The best way to guarantee stable environments is to never make changes, new features (despite exhaustive unit and functional testing) inevitably introduce undesirable functionality. DevOps (Development Operations) combines operations processes with development processes for a single unified workflow where DevOps teams work together to release frequently and ensure that productions environments remain stable.
There are five components of DevOps easily remembered using the acronym CALMS.
- Culture – Focus on people, embrace change and experimentation (hypothesis driven development)
- Automation – Continuous Delivery/Integration (CI/CD), Infrastructure as Code (IaC)
- Lean – Deliver business value, small batch sizes
- Measurement – Measure everything, show improvement through metrics
- Sharing – Open Information sharing, collaboration and communication
There are three areas of improvement realized as part of a shift towards DevOps.
- Technical – Faster resolution of problems, less complexity, automation
- Cultural – Better employee engagement, more productive teams
- Business – More features delivered, stable production environments
When working in a DevOps environment, Development and Operations teams come together to work towards the common goal of releasing features and fixes in stable environments. A functioning DevOps team releases features with less downtime, fewer bug fixes, more quickly and with less risk to the organization than traditional team structures. All of which help create an environment where your business can focus on delivering more value to your customers. Stop being a release Grinch and let DevOps practices move your organization to a happy Whoville!
Curious about how DevOps teams can help your Data & Analytics, D365, or Dynamics teams? Reach out to Hitachi Solutions’ knowledgeable and experienced team members to help your organization work towards an effective and efficient DevOps culture.