A group of intergalactic technology leaders were gathered together by Captain Picard on the Enterprise for the sole purpose of understanding why the Federation continued to suffer from software related outages. Some of these glitches had even resulted in significant loss of life.
The evening started off with several presentations from learned scholars in the software development industry elucidating at length about how they had leveraged their versions of Agile Methodologies and incorporated quality testing in their DevOps to “ensure” timely delivery of quality code. The speakers were engaging and enthusiastic. The presentations were fabulous and the logic was irrefutable. However, the Captain appeared bored and distracted.
Dinner and drinks followed, and the volume of the excited chatter grew until Data stood and requested everyone’s attention.
“I would like to thank everyone for participating in today’s session. It was interesting and informative. Unfortunately, we did not address the issue at hand. Therefore, due to the urgency of the situation, the Captain has authorized the administration of a temporary truth serum in your drinks to ensure an honest answer to a single question.”
Murmurs of indignation rumbled through the room until the Captain stood and raised his hand.
“My sincerest apologies if any of you feel ill-used. However, the fate of the Federation rests on our ability to resolve this very pressing issue. As you have all eloquently explained, the landscape of software development gets more complicated every day. We need to know how to best solve this issue, and therefore I have only one request, and it is a simple one”.
Please stand if you have a loyal software development team that consistently delivers predictable results.”
Several of the attendees attempted to stand, but found they could not. After waiting for a full minute, Picard turned to Data and said:
“Then we are truly lost… “
An interesting scenario. But the sad truth is that many of us will identify with this situation. We understand that as an industry, we struggle to consistently deliver a quality software product.
Even the top organizations in our field (you know the ones) that can afford to pay above scale, provide endless food and foozball tables, and attract the “top 1%” have recently experienced significant and embarrassing software failures.
- ZDNet: 6/7/2019: Google details ‘catastrophic’ cloud outage events: Promises to do better next time.
- The Verge: 7/3/2019: Facebook resolves day-long outages across Instagram, WhatsApp, and Messenger – It blamed the outage on an error that was triggered during a “routine maintenance operation.”
- Deadline: 8/14/2019: Amazon Prime Video Experiencing Worldwide Outages.
If these paragons of the software development industry struggle to deliver and maintain robust products, what chance is there for the other 99%? Or as Picard intimated to Data – are we truly lost? Will clamor for more complicated applications and platforms result in software failure rates similar to those experienced by cross town bus riders?
The bad news is that we are certainly going in that direction.
I offer the following:
Loyalty: One of the most significant challenges to tech leaders today is the costs associated with skilled tech worker churn. It’s not just the high cost of replacing talent and the eon’s required to on-board through contribution. It is also the opportunity cost of what could have been done, and the contextual understanding of the code base itself that has walked out the door. Some interesting numbers:
While the average global churn rate was 10.9% in 2017
- UX Designer = 23.3%
- Data Analyst = 21.7%
- Embedded Software Engineer = 21.7%
Those figures certainly support the many studies that indicate the majority of Tech workers are disengaged and currently looking for a new position.
Predictability: If the true artifact of predictability is timely delivery, then this industry has a long way to go. It is true that there are many challenges associated with delivering quality software, but as an industry, we can, and must, do better. Some numbers:
- 67% of Enterprise SW projects do not finish on time
- 58% finish over budget
- Most of the completed projects contain just a shadow of the original scheduled feature set.
But there is good news. The good news is that the answer has been hiding in plain sight. (This is why Google, Facebook and Amazon have been so intent upon poaching Picard from the Federation). He has the unique ability to see the “big”, and I mean inter-galactic, picture. That wide aperture makes it clear that great code is produced by loyal (aka stable) teams that deliver predictable results.
And that is why every tech executive across the galaxy wants only one thing for the holidays. They want loyal and predictable software development teams.
If you are one of those many tech leaders looking to improve the stability and predictability of your tech teams, feel free to dig deeper into this blog, or just continue the discussion below.
Live long and prosper.