Wolf
What is a WoLF?
The WoLF is not necessarily an individual, but a disruptive situation that requires product managers to drop everything and go into firefighting mode. In the world of software development, there’s always a negotiation between working on new features and addressing technical debt. Over-indexing on technical and security problems means you’re not focusing enough attention on delivering new features and value. But the opposite—neglecting these issues to focus solely on new features—can lead to several types of fires that require your immediate and complete attention, whether it’s the loss of data, security breaches, or an all-out product failure.
Why are WoLFs dangerous?
The WoLF will jump from one fire to the next, even when it comes at the expense of value delivery. In this cycle of reactivity, where all resources are dedicated to firefighting, you compromise productivity and a long-term, strategic approach to your product. Plus, you’re making it impossible for your team to do anything truly new or innovative.
WoLFs in the wild
When a WoLF is left to run wild, you can end up with a wildfire that destroys your business. Take the example of Knight Capital, a financial services firm that was brought to its knees by technical debt.
In 2003, Knight Capital introduced the Power Peg algorithm. Designed to “buy high and sell low” in the stock market (the opposite of conventional “buy low and sell high” wisdom), it was meant for use in a test environment. In just one trade, the loss of a few cents would be insignificant.
Power Peg was then left unused in Knight Capital’s codebase for a very, very long time, leaving it vulnerable to the prowling WoLF.
Nine years later, Power Peg was accidentally enabled during a software update. Thousands of “buy high sell low” trades were executed each second in the real world. And it quickly added up. Within 45 minutes, Knight Capital had lost $460 million.
So, what caused this catastrophe?
1. The flag that was used to enable Power Peg in the test environment was repurposed for use in a new functionality. Thus, the program believed it was still in the test environment and executed trades as quickly as possible.
2. There was no formal code review or QA process, nothing in place to ensure the software had deployed correctly, and no thresholds to stop automated trading after a set amount of losses.
3. There was no existing catalog or naming convention for feature flags, leading to a situation where engineers had no understanding of the true nature of the feature flag.
4. There was no practice of removing old or unused feature flags. The lesson is clear: neglecting technical debt in your product and letting a WoLF run wild can seriously cost your company.
The lesson is clear: neglecting technical debt in your product and letting a WoLF run wild can seriously cost your company.
Comments
Post a Comment