Archive
A Friction-Based Separation Of Concerns
Alan Kay is one of the inventors of the Smalltalk programming language and a Turing award winner. During an interview with Dr. Dobbs’s Andrew Binstock, Mr. Kay had this to say:
American business is completely fucked up because it is all about competition. Our world was built for the good from cooperation. – Alan Kay
From the moment we stepped foot into the classroom and received our first gold star, we’ve been brainwashed with the BS idea that separation from, and competition with, other individuals is good and noble. In school, collaboration on assignments and tests is akin to “cheating“. In business, subjective reward systems pit team mates against each other for money and stature.
At least in school, everyone knows what the score is. There is no group purpose, vision, or mission; it’s all about individual achievement relative to other individuals. In business, so-called leaders constantly cry out for team work and collaboration while keeping idiotic policies/processes/procedures/structures in place that guarantee a friction-based separation of concerns between individuals and groups within the org. The reason this counterproductive “behavior” will continue unabated ad infinitum is because all the players involved in the game simply take it for granted. To “us” (yes, that includes you and me), it’s simply the way it’s always been and it’s simply the way it always should be. This thinking malady is so acute that not many people even try to search for alternatives. Those poor souls that do, are often ostracized into silence.
Where Are They Now?
The practice of performance appraisal is a mandated process in which, for a specified period of time, all or a group of employees’ work performance, behaviors, or traits are individually rated, judged, or described by a person other than the rated employee and the results are kept by the organization. – Coens, Tom; Jenkins, Mary. Abolishing Performance Appraisals
“Abolishing Performance Appraisals” was written 10 years ago. In their seminal book, Tom Coens and Mary Jenkins provide case studies of the following organizations as having replaced the Annual Performance Appraisal (APR) with something different:
University of Wisconsin Credit Union
Madison,Wisconsin, Police Department
Wheaton Franciscan Services, Inc.
Glenroy, Inc.
Gallery Furniture Company
Entre Computer Service
Memorial Hospital, Fremont, Ohio
Michigan State University
Electronic Data Systems (before being acquired by HP)
GM-Powertrain
I wonder how these orgs are doing today? Could some/most of them have gone down the tubola like most of the orgs in Tom Peters‘ revered “In Search Of Excellence“? If so, BD00 wouldn’t be surprised. Even when successful new practices are placed into operation, the powerful forces acting on an org to revert back to the old status quo are ever present. These forces usually win out when new management, indoctrinated with old FOSTMA thinking, takes over the reins.
Stirred, And Then Unstirred
When a cock-eyed idea for a blog post appears in my discombobulated mind, I sometimes write the post to completion and promptly place it in the publication queue. At other times, I simply toss a link, some sentences, and/or a quick picture on the page and store it away for future elaboration in my “drafts” folder. As a result, I have over 100 drafts stored in the underground catacombs of this site. The oldest one is dated back to 3/10/2009!
Every once in awhile, when I’m suffering from writer’s block, I browse through the drafts pile in reverse chronological order to select my next earth-shattering post. However, since for me writing is all about emotion (positive or, most likely negative), I often find myself chucking many drafts into the trash. For those drafts, the second time around is just a dispassionate “meh“.
Since all emotions naturally ebb and flow, it makes sense that what stirs me today may not stir me tomorrow – and vice versa. But that’s a wonderful thing because when emotions stop changing, life sucks the big ‘un. When I “successfully” force emotions to stay longer with me than nature meant them to stay with me, I tend to get myself into trouble. Does this apply to you too?
Posing Your Way To Success
On the left-hand side of the diagram below, we have a static system design structure where four “workers” and their manager have their hearts set on producing a world class product. On the right, we have an alternate system design where only one worker has his/her heart set on creating a world class product. The other team members are too busy posing, competing, and jockeying for positional stature in the mind of the manager for their next upward career move. It’s not shown on the diagram, but that manager is also jousting with his peers to advance his/her career.
In orgs where the policies/procedures/incentives/rewards promote individual performance over (and at the expense of) team performance, you’ll most likely find the design structure on the right in operation. Which archetype does your system design map onto?
Man-Made And Person-Specific
George Pransky taught (err, finally convinced) BD00 that all stress is man-made and person-specific. One person’s stress is another’s exhilaration. Nevertheless, environmental and situational factors probably do influence stress levels to some extent, no?
One would think that as one ascends the ladder in a hierarchical institution, his/her stress levels increase with rank, stature, and responsibility. This may be true in general, but there is some research evidence to the contrary:
No Sweat: Less Stress in Higher Ranks. “..this study suggests that those who manage others actually experience less stress — as measured through both biological and psychological assessments — than non-leaders. In fact, the stress level seems to go down as executives climb up the corporate ladder. Leaders with more authority, and more freedom to delegate day-to-day oversight, do better on this front than managers below them.”
The Whitehall Study. “The Whitehall cohort studies found a strong association between grade levels of civil servant employment and mortality rates from a range of causes. Men in the lowest grade (messengers, doorkeepers, etc.) had a mortality rate three times higher than that of men in the highest grade (administrators).”
It all comes down to “control“. If you believe (like BD00 does) in William T. Powers’ Perceptual Control Theory (that every living being is an aggregation of thousands of little control systems interconnected for the purpose of achieving prosperous survival), then the results make sense. It’s simply that people in the higher ranks have more “control” over their environment than those below them.
Of course, take this post (along with all other BD00 posts) with a carafe of salt. He likes to make up stuff that confirms his UCB by carefully stitching together corroborating evidence while filtering out all disconfirmatory evidence. But wait! You do that too, no?
Every man, wherever he goes, is encompassed by a cloud of comforting convictions, which move with him like flies on a summer day. – Bertrand Russell
Befuddled
BD00 is be-freakin-fuddled. Out of over 1200+ posts in 3+ years of finger painting “The World According To BD00” on this blawg canvas, the “Accountability” post has gotten the most hits.
The first hypothesis that comes to mind is that everyone is afraid to be held “ACCOUNTABLE!” for their perceived “bad” behaviors, deeds, actions, words. I know I am. Are you? Why do you suppose that post has been pinged more than any other?
Milliseconds Since The Epoch 2
Over a year ago, I hoisted some C++ code on the “Milliseconds Since The Epoch” post for those who were looking for a way to generate timestamps for message tagging and/or event logging and/or code performance measurements. That code was based on the Boost.Date_Time library. However, with the addition of the <chrono> library to C++11, the code to generate millisecond (or microsecond or nanosecond) precision timestamps is not only simpler, it’s now standard:
Here’s how it works:
- steady_clock::now() returns a timepoint object relative to the epoch of the steady_clock (which may or may not be the same as the Unix epoch of 1/1/1970).
- steady_clock::timepoint::time_since_epoch() returns a steady_clock::duration object that contains the number of tick-counts that have elapsed between the epoch and the occurrence of the “now” timepoint.
- The duration_cast<T> function template converts the steady_clock::duration tick-counts from whatever internal time units they represent (e.g. seconds, microseconds, nanoseconds, etc) into time units of milliseconds. The millisecond count is then retrieved and returned to the caller via the duration::count() function.
I concocted this code from the excellent tutorial on clocks/timepoints/durations in Nicolai Josuttis’s “The Standard C++ Library (2nd Edition)“. Specifically, “5.7. Clocks and Timers“.
The C++11 standard library provides three clocks:
- system_clock
- high_resolution_clock
- steady_clock
I used the steady_clock in the code because it’s the only clock that’s guaranteed to never be “adjusted” by some external system action (user change, NTP update). Thus, the timepoints obtained from it via the now() member function never decrease as real-time marches forward.
Note: If you need microsecond resolution timestamps, here’s the equivalent code:
So, what about “rollover“, you ask. As the highlight below from Nicolai’s book shows, the number of bits required by C++11 library implementers increases with increased resolution. Assuming each clock ticks along relative to the Unix epoch time, rollover won’t occur for a very, very, very, very long time; no matter which resolution you use.
Of course, the “real” resolution you actually get depends on the underlying hardware of your platform. Nicolai provides source code to discover what these real, platform-specific resolutions and epochs are for each of the three C++11 clock types. Buy the book if you want to build and run that code on your hardware.
Annual Report – 2012
Fresh off the presses from the talented wordpress.com team, here are BD00’s vital blog stats for fiscal year 2012.
BD00’s sole proprietorship business met all of his lofty goals for 2012: zero revenues, zero expenses, and zero growth. The plan for 2013 calls for a 25% increase across the board. It’ll be tough, but optimal deployment of resources and flawless execution of strategy will guarantee success.
Billiard Balls
The top-down organizational chart became the blueprint for the mechanistic organizational model, lining people up like billiard balls to ostensibly create a predictable chain of reactions. – Tom Coens & Mary Jenkins
A Big Fat Waste Of Time
Having recently finished the above two heretical books on the undiscussable joke that is “the Annual Performance Review“, I coincidentally stumbled upon this recent FastCompany.com article: “Why Year-End Reviews Are A Big Fat Waste Of Time”.
Alas, even though author Denis Wilson plants some decent advice for managers in the blarticle, it still reeks of a slight “tweak” to the notoriously bad, but eerily unopposed, APR practice.
After posting the link to the blarticle on Twitter, I had this interesting exchange with Adam Yuret:
Upon reflection on why such a horrendously demeaning practice like the APR still exists in the 21st century, BD00 has come to the conclusion that the guild of management collectively thinks:
- The APR actually “works” or,
- They know it doesn’t work but they have no motivation to attempt such a big and scary change to the org, or
- They know it doesn’t work but they have no motivation to explore alternatives for achieving what the APR is actually supposed to do.














