Archive
QIQO, GIGO
QIQO == Quality In, Quality Out
GIGO == Garbage In, Garbage Out
In the world of software development, virtually everyone knows what GIGO means. But in case you don’t, lemme ‘splain it to you Lucy. First, let’s look at what QIQO means.
If a domain-specific expert creates a coherent, precise, unambiguous, description of what’s required to be mapped into a software design and enshrined in code, a software developer has a fighting chance to actually create and build what’s required. Hence, Quality In, Quality Out. Of course, QI doesn’t guarantee QO. However, whenever the QI prerequisite is satisfied, the attainment of QO is achievable.
On the other hand, if a domain-specific expert creates a hairball description of what’s required and answers every question aimed at untangling the hairball with sound bytes, a scornful look, or the classic “it’s an implementation detail” response, we get….. GIGO.
Note that the GIGO vs QIQO phenomenon operates not only at the local level of design as pictured above, it operates at the higher, architectural level too; but with much more costly downstream consequences. Also note that the GIGO vs QIQO conundrum is process-agnostic. Its manifestation as the imposing elephant in the room applies equally within the scope of traditional, lean, scrum, kanban, and/or any other wiz-bang agile processes.
Customers, Features, Components
Umm, let’s see. Customers interact with features. Features are implemented across components. Components are designed/coded/tested/integrated by developers. Well, duh!
Mutual Mistrust
Assume you walked into an organization and discovered a massive, productivity-sapping, mistrust between management (party A) and the workforce (Party B). Would you wonder how such a toxic environment came about in the first place? Well, it really doesn’t matter “who started it first” cuz once the self-reinforcing loop of escalating mistrust kicks into gear, all is lost.
Politics And C++
Pseudonymous, Not Anonymous
Since cash is “anonymous“, hard-core criminals like drug dealers and terrorists prefer to transact in cash:
Unlike what many uninformed people think (thanks to the mainstream press and political sound-bytes), Bitcoin is NOT anonymous. Bitcoin is “pseudonymous“.
Unlike cash, each bitcoin is tethered to an address that is visible to anyone, anywhere, anytime. Every transaction is stored in the immutable, publicly visible, Bitcoin blockchain. And there are many Blockchain forensic analysis programs that can trace the path of every bitcoin ever mined from address to address.
Bitcoin <-> Cash exchanges are required to “know their customers“. So, when you sign up for an account at an exchange (like Coinbase.com), by law, you must supply personal information to the exchange (I had to upload a picture of my driver’s license).
As soon as a criminal decides to cash out bitcoins through an exchange, the game is over – it’s just a matter of time. Simply ask the jailed criminals who’ve used Bitcoin in their dealings how they ended up where they are.
So, criminals, stop tarnishing the image of the greatest innovation since the internet. Stay away from Bitcoin, you dumbasses.
The Waste Of Mining?
Fervent anti-bitcoiners have a bottomless cache of reasons for wanting Bitcoin to fail. One of their favorite fear-mongering strategies is to warn of “the impending ecological catastrophe” that they think will engulf the world if Bitcoin succeeds on a global scale.
In order for bitcoins to be created, they, like gold, need to be “mined“. However, unlike the physical mining required to unearth gold, virtual mining is required to “unearth” bitcoins. Virtual mining for bitcoins requires a large amount of electricity because Bitcoin miners race against each other using a computationally dense hashing algorithm to validate transactions and add a verified block to the immutable blockchain.
For its contributory work in helping to keep the blockchain secure, the winning miner of a block is rewarded with a spanking brand new batch of bitcoins (currently set to 25 bitcoins per block). After each block is added to the blockchain, the race to add the next block of transactions commences.
Unlike newly mined physical gold which require a costly post-mining process to bring the booty to market, newly minted virtual bitcoins can be used immediately – to pay a miner’s electrical bills, for example.
When asked about the cost of Bitcoin mining back in 2010, Bitcoin creator Satoshi Nakamoto had this to say:
What most people new to bitcoin fail to understand (but the banksters with a vested interested in maintaining the status quo do understand) is summarized nicely in Satoshi’s last two sentences:
The utility of the exchanges made possible by Bitcoin will far exceed the cost of electricity used. Therefore, not having Bitcoin would be the net waste.
Penalizing The Millions For The Sins Of The Few
This drawing was just so brilliant that I had to foist it on this god-forsaken blog:
Politicians, law enforcement officials, and duped citizens can’t see the forest for the trees on this issue. It strikingly reminds me of the same narrow-sighted, short-term, black-white, thinking exhibited by those who rabidly oppose Bitcoin adoption because of its potential use by terrorists and drug dealers (just like real cash!). Let’s penalize the millions for the sins of the few.
Governments always seize on brief panics/outrages to demand greater restrictions on civil liberties, which they then abuse to harass regular people. It’s a slow and barely noticeable slide into the bleak world described so vividly in George Orwell’s 1984.
Event Driven Behavior
The Promotion Strategy
On the left side of the following figure, we have a typical mega-project structure with a minimal Overhead-to-Production personnel ratio (O/P). If all goes well, the O/P ratio stays the same throughout the execution phase. However, if the originally planned schedule starts slipping, there’s a tendency of some orgs to unconsciously exacerbate the slippage. In order to reign in the slippage via exercising tighter control, the org “promotes” one or more senior personnel out of the realm of production and into the ranks of overhead to help things along.
By executing the “promotion strategy“, the O/P ratio increases – which is never a good thing for profit margins. In addition, the remaining “unpromoted” senior + junior analysts and developers are left to pick up the work left behind by the newly minted overhead landlords.
So, if you’re in the uncomfortable position of being pressured to increase execution efficiency in order to pull in a slipping schedule, you might want to think twice about employing the “promotion strategy” to get things back on track.
The brilliant Fred Brooks famously stated something akin to “Adding people to a late project only makes it later“. In this infamous post, dimwit BD00 states that “Promoting personnel from production to overhead on a late project only makes it later“.
















