20 December 2009

No One Likes to be Managed - What's Next?

Management is destined to be skewered by the shish kabob of self-starting, self-organization.

That no one likes to be managed isn't a notion, rather it is a thesis supported by data. To test this assertion, take note of the search phrases Google suggests when you enter the phrase
my manager is a
Bully, idiot, jerk, and control freak are what Google suggests. Google's suggestions are tallied and ranked based on the terms most commonly searched by your co-workers (and your direct reports).

From the flaming grill of my corporate-vagabond experience, my unsubstantiated notions are:
  • Humans are largely a self-organizing species;
  • Some humans are doers;
  • Some humans are controllers;
  • Doers get stuff done;
  • Controllers are counter-productive; and it's
  • Better to be a facilitator or coach than a controller
The groups I work with day-to-day (i.e., independent contractors, employees, and consultants) cringe at the first sniff of scripted ceremony, retrospective platitudes, or condescending praise. Scripted ceremony, retrospective platitudes, and condescending praise are deep-seated in the DNA of the controller's marbled fat.

If my livelihood was based on controlling rather than doing, I would be concerned about my economic viability. If you're a facilitator, road-block clearer, or a coach, you've nothing to worry about. But, pure controllers are the excess fat to be trimmed in coming years.

What's Next?

Year's end, predictably, fertilizes scads of predictions. I take all predictions with a grain of salt. That said, I can't stop from making some forecasting about the workplace.
The groundhog is like most other prophets; it delivers its prediction and then disappears. ~Bill Vaughn
Following are my predictions for the decade of the 2010s
  • The 2010s are for self-starters, self-organizers, and the self-employed. 
  • The 2010s will see the growth of online professional communities. Professional communities will replace labor unions, providing economies of scale for group services and rates (collective bargaining) heretofore available only to large organizations. These communities will be networks of people brought together online and focused on professional interests (e.g.,  I moderate two professional groups on LinkedIn, Twin Cities Software Consultants and Agile .Net Practitioners. These groups have grown steadily in 2009 to 615 local members for Twin Cities Software Consultants  and 1,626 worldwide members for Agile .Net Practitioners).
  • Economic growth in the 2010s will be fueled by bands of small communities (1-100) in professional partnerships that will compete head-to-head with corporate behemoths. Success, big or small, will be measured by how fast your community can adapt.
  • Myopic corporations will be blind-sided by the open source movement in the 2010s.

14 December 2009

Socket To Me - The Web Socket Primer

Web sockets are an alternative to Ajax, Comet, and Flash for an interactive user experience and RIAs. The web sockets specification is an HTML5 initiative.

The spec introduced a web socket javascript interface that defines a two-way, single socket connection for messages to be sent between browser and server.

The intent of the web socket standard is to make bi-directional web communication simpler and more efficient.

Among others, Google's Ian Hickson is working on an internet-draft of the the Web Socket Protocol. Following is the abstract of the internet-draft of The Web Socket Protocol:

The Web Sockets protocol enables two-way communication between a user agent running untrusted code running in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the Origin-based security model commonly used by Web browsers. The protocol consists of an initial handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g. using XMLHttpRequest or iframes and long polling).

Anticipated Advantages

The anticipated advantages of web sockets over the use of Ajax or Comet are:

  • Single Connection -- Ajax and Comet are not native to the browser so they must rely on maintaining two connections (e.g., an upstream connection and a downstream connection) to stream data to and from the browser. Web sockets support upstream and downstream communications over a single connection.
  • Less Load- Expect less of a burden on hardware since the equivalent Ajaxy user experience served up from a web server will support twice the number of single connections.
  • Roadblock Clearing -- Web sockets provides the ability to traverse firewalls and proxies so that streaming is possible over any connection. 
  • Efficient Streaming -- Web sockets supports streaming over HTTP, while alternate solutions use long-polling with the associated overhead.
Google Chrome, version or higher, has web sockets enabled. To experiment, you will need the Dev Channel download of the Chrome browser.

More Reading

13 December 2009

Lessons From The Google Rocket

Understanding the meteoric rise of Google can be distilled to the phrase
It's the engineers, stupid.
Cribbed from It's the economy, stupid - an American political phrase coined during Bill Clinton's successful presidential campaign against George H.W. Bush.

Imagine how different the world would be if Google founders Larry Page and Sergey Brin had spent the last decade or so on the Galapagos Islands measuring the beaks of Darwin's finches.

In his bestselling book, Googled: The End of the World As We Know It, journalist Ken Auletta weaves a compelling profile of Google and it's impact on contemporary society.

Don't be evil is the informal Google slogan originally suggested by Paul Buchheit (former lead developer for Gmail). Pie-in-the-sky bromides like don't be evil are painless to adopt when the underlying organization is buoyed by boatloads of cash. Yet the Google culture has cultivated and proven the impossible is possible...
  • it is possible for a large organization not to kill ideas and productivity;
  • it is possible for employees to be part of a brain-stimulating community rather than trudge daily to a 9-5 job; and
  • it is possible that giving 20% time for smart people to pursue their interests translates into profit.
What is the Google ethos and what can we learn from it? Google's ethos is this
  • Have the audacity to be different
  • Maintain a healthy distrust for suits
  • Data are strong indicators that trump notions and superstition
  • Release early and learn

The key to the Google Rocket is
Things get invented by engineers, not hucksters or charlatans.
Since it's the engineers, stupid, compensate accordingly -- or fall off the cliff like traditional advertising.


Google is successful by most measures monetary or cultural. Google challenges traditional media, traditional advertising, and traditional operating systems (see Instant Boot Bliss), to name a trio of areas over which its tentacles visibly extend.

Yet now that Google has become an informational and infrastructural behemoth, the salient question for Google's future (and ours) becomes
Is don't be evil still do-able?

27 November 2009

Instant Boot Bliss

Microsoft has worked the kinks out of Vista. To make a clean break with colossal failure, Microsoft has renamed their flagship OS Windows 7. Windows 7 hits the mark just in time to be arguably obsolete. The impact of Windows 7 will be marginalized in the coming year by Google's Chrome OS and by competing products like Jolicloud.
Chrome OS is an awakening.

I have been developing web apps since the late 1990s. I've been fond of bragging that we did ajax back when it was known as remote scripting and used an asynchronous JavaScript call back function.

I am all about making faster, richer web apps that leave native desktop apps in the rear-view mirror. Chrome OS is an instant boot operating system optimized for a superior web experience via superior local caching and zippy JavaScript.

When Acer and HP netbooks featuring Chrome OS hit the shelves in 2010 (HP, Acer Developing Google Chrome OS Netbooks), the death knell for file-based operating systems will begin.

File-based operating systems will give way to web-centric operating systems just like film-based photography gave way to digital imagery. Who remembers cameras with roll film?

Roll film cameras like the Brownie gained popularity because consumers love devices that are expedient and easy-to-use.
You push the button, we do the rest. ~ Kodak slogan circa 1900
One doesn't need the experience of loading 4x5 inch sheet film into a film holder, then sliding it into the back of a view camera to understand how revolutionary roll film was to consumers in the early 20th century.
Consumers dig easy to use and cheap
How many computing people ensconced in a coffee shop are not connected to the web? Yet, inexplicably, my 64-bit notebook with 8 gigs of RAM takes several minutes to boot. Adding a turtle-like virus scan to that startup time leads to significant thumb twiddling.

I have stopped being an apologist for Microsoft. Not because Microsoft doesn't make great products - I'd still rather develop in Visual Studio than Eclipse. Rather, Microsoft has squandered  near monopolies in several product areas by being slow on the uptake.
Why are most of the forward-thinkers working at Google?
Consumer devices whose primary function is easy access to internet services, such as the world wide web or e-mail, have been with us for a while. The term internet appliance was popularized in the late 1980s and 1990s. simPC, a web appliance for  grandma and grandpa to share with grandchildren, debuted as a proof of concept in 2004 running from a solid state drive, based on the Linux OS, and requiring an internet connection.

I am going to bite the bullet to upgrade to Windows 7 on my Vista notebook. But, I'm leaving Windows XP on my development box until further notice because Microsoft, in a consumer-unfriendly decision, hasn't made an effort to ease the leapfrog (over Vista) from XP to Windows 7.

As long as the boot time for Chrome OS, and other web-centric clones, remains almost instantaneous, the
  • technical hurdles, like richer & faster web apps and bigger internet pipes, and the
  • psychological hurdles, like data storage on the cloud rather than locally, 
will begin dropping like hapless male drones in autumn.

We have reached a turning point where
  • Price points for computers become affordable for most ($299), 
  • Web-centric operating systems are free, 
  • Software installation and virus protection becomes obsolete,
  • Software is online, and
  • Data storage is on some amorphous genie called the cloud.
Of Interest
  1. To Learn - See What We Need To Know About Chrome OS.
  2. To View - Watch Chrome OS Open Source Project Announcement video.
  3. To Join  - Register on Chrome OS Forums; a new discussion forum with valuable information about Chrome OS Install and Setup Guide and How-to Run Google Chrome OS From a USB Drive.
  4. To Speculate- Read Jolicloud aims to steal Chrome OS's netbook thunder to see how things are heating up in the web-centric OS space.
  5. To Follow - VP of Product Management for Chrome OS, Sundar Pichai, on Twitter at @sundarpichai
  6. To Follow - Lead Engineer for Chrome OS, Matthew Papakipos, on Twitter at @mpapakipos

19 November 2009

What We Need To Know About Chrome OS

A few industry journalists seemed confused about Google Chrome the browser and Google Chrome OS the operating system in today's webcast of Google Chrome OS Open Source Project Announcement. Make no mistake, Chrome OS boots your machine - in 7 seconds!
Chrome OS is a Linux-based operating system optimized for- and devoted to- the Web.

In the webcast, Google revealed several details of their Chrome OS product vision. Sundar Pichai, VP of product management said:
We want Google Chrome OS to be blazingly fast…
to boot up like a TV

Chrome OS
  • Targets users who spend most of their time on the web. Um... like everybody.
  • Is a fundamentally different model of computing -- relying on cloud computing (e.g., your computer does not manage data).
  • Runs web apps residing on remote servers, rather than on hardware devices.
  • Users won't install applications since the OS runs web apps.
  • Users won't install anti-virus protection since the OS monitors malicious activity via internal systems like verified boot and malware protection.
  • Runs javascript super fast
  • Supports the W3C notification API for real time notifications.
  • Is an open source project released to the public on November 19, 2009. The project is known as Chromium OS (Chromium OS is what Google calls developer builds of Chrome OS).
Every capability you want today, in the future it will be written as a web application
~ Sundar Pichai
  • Chrome OS targets netbook computers. It is tuned to run on hardware with x86 or ARM processors under the hood.
  • Hewlett-Packard and Acer are working with Google to create devices running Chrome OS (cf. HP, Acer Developing Google Chrome OS Netbooks).
  • Chrome OS supports keyboard, mice, standard storage devices (e.g., non-volatile flash memory), and droid phones.
  • Chrome OS will have printer support that will be announced in the future.

The wired.com post Five Things Google's Chrome OS Will Do for Your Netbook distills the attraction of Chrome OS to
  1. Cost;
  2. Speed;
  3. Compatibility;
  4. Portablity; and
  5. New Applications.
Business Strategy

Chrome OS is a bold move by Google in the competition between Google and Microsoft for the badge of digital dominance. I am a Microsoft whore, but I am betting on Google. Here's why...
Dude #1 fires up Windows 7 on notebook.
Dude #2 boots Chrome OS on a Netbook in 7 seconds
Dude #2 has GMail read before Dude #1 sees login prompt.
Asked about Google's strategic position with Chrome OS, Google co-founder Sergey Brin said
We really focus on user needs rather than think about strategy relative to other companies...a web platform on stateless machines that are performant.
Watch a 3:30 minute video excerpt of the Q&A from today's webcast from TechCrunch. Or, view the entire announcement video, including a live demo (~80 minutes).

Like a Hobo on a Ham Sandwich

What to get on Chrome OS running on a virtual machine using Sun's free software VirtualBox (for PCs, Macs, and Linux)? TechCrunch gives a step-by-step walk-through in the post Want To Try Out Google Chrome OS For Yourself?.

17 November 2009

Information Discovery & Chirpitude

My Professional Persona Primer for Twitter post didn't get a lot of play, but it did elicit a thoughtful comment or two.

I use Twitter for informational discovery - to find out who's working on what and what I should know.
I also use it for inspiration - for brain roughage, gray matter fuel, endorphin triggers, and to jostle my melon's opiate receptors.
The imagined value of most communication can be chalked up to hindsight bias or similar cognitive errors. ~Garry Smith
My informational snacking is often healthy, but I've had to work at choosing the right diet. Some examples of healthy snacks from today's TweetDeck are:
  1. Please do not name your #Agile Teams after products. When you sunset the product, the team freaks out. - 7thpixel
  2. The best decisions I ever made were when I decided to work with the smartest people I could find. - Marissa Mayer
  3. When writing the values section of a persona, if someone says "for example...", that's a test in disguise. - David Hussman
But unhealthy snacks abound in the informational grocery store. Some examples of junk food from today's TweetDeck included:
  1. Heading to convention center. Favorite red shirt activated and working nicely. - name withheld
  2. Still packing and moving things - name withheld
  3. It's Official: The Tesla Roadster Sport Is A Babe Magnet - Silicon Valley Insider
Just because nobody complains, doesn’t mean all parachutes are perfect ~Benny Hill
To cultivate and harvest heirloom info from Twitter, we knowledge gardeners must eradicate the invasive interlopers of chirpitude.

Unless you are visiting this post from a parallel universe via a topological space-time wormhole, chirpitude is new to your lexicon. As a courtesy, I invite consultation with The Dictionary...

13 November 2009

Story Board for Google Wave

What's a Google Wave Gadget?
A gadget is an application Google Wave (GW) participants can install and use. Gadgets can take advantage of live interaction with multiple participants. Gadgets are specific to individual Waves. That is, the gadget belongs to everyone within the Wave.

What's Taskboardy?
In my July post Google Wave and Collaborative Projects, I articulated wishful thoughts about using GW for agile projects. Now we have Taskboardy. Taskboardy is a storyboard (as used in Agile, XP, Scrum) gadget made by Federico Zuppa. Federico is a developer and Agilist. Fede's blog, Agile Booknote, includes updates about Taskboardy. Gracias Fede!

GW participants who have installed Taskboardy are able to maintain a storyboard  including the functionality to:
  • Create or Delete a User Story;
  • Create or Delete a Task;
  • Update Task Statuses; and
  • Assign Tasks.
Technical Aspects
Taskboardy uses Javascript that calls the Google Wave API to persist the state of the taskboard in the Wave,  which is then simultaneously broadcasted to all participants. Federico's gadget features drag & drop using the Google JQuery API.

  • Garry Smith got Taskboardy installed in a Wave we initiated for a new agile project (Shown above). We will run Taskboardy through the paces for our chartering and beyond. I will post a review later this week as we progress.

10 November 2009

Ain't No Code Monkey

I am not a code monkey. I am not a geek.

That's why I appreciated Nick Whiteley's post Code Monkeys and the Software Eunuchs.

Many of us are soup to nuts software product developers.

Many contract developers have a breadth of business knowledge unsurpassed by other knowledge workers. Our work day might include a range of tasks from crafting unit tests to coaching a product owner on backlog grooming.

In the past 15 or so years, I have learned about the publishing, financial, manufacturing, medical device, insurance, legal and environmental business sectors. Like other contractors and consultants, my knowledge is perhaps shallow, but like a delta it spreads to the horizon.

And, like many contractors, I run a small business. Running a small business, I know a bit about accounting QuickBooks style, a bit about marketing my company, and a bit about networking with peers and practitioners.

The most underrated contribution of agile is humanistic. In the inclusive world of agile, developers are welcomed to chartering table, the planning table, and the post-mortem table -- not just the workstation. We're players on the product team.

Whether you're stubbornly old-school or unknowingly ill-mannered, please retrain your brain to refrain from belittling notion that developer equals geek or code monkey.

In return for this courtesy, I pledge to bite my tongue the next time I am tempted to think of you as a pencil pusher, bean counter, snake oil salesman, or pointy-headed boss.

08 November 2009

Software Teams versus Groups

What's distinguishes a team from a group?

In the cultural sphere of my youth, basketball seemed the quintessential team game. I was a playground hoops rat who grew up tolerating ego-centric ball hogs. I'd wonder, why don't these rubes appreciate the team game?

I dreamed of a team game, modeling and emulating the unselfish play of the 1969-70 NBA champion N.Y. Knicks.

In retrospect, my hoop dreams chums and I were a motley collection of pubescent mouth-breathers missing that magic chunk of gray matter that enables a flock of humans to behave like the symphony of a single organism (e.g., Self-Organization: Flocks, Schools & Colonies).

Compare the shooting stats of the 1969 Knicks with the 2008 NBA runner-up Lakers -- a striking difference in the distribution of shots per game for the top 6 players of both clubs is evident.

1969 Knicks

Shots per Game

Willis Reed


Walt Frazier


Dave Debusschere


Bill Bradley


Dick Barnett


Cazzie Russell


Mean 13.2 and Std. Deviation 2.4

2008 Lakers

Shots per Game

Kobe Bryant


Pau Gasol


Andrew Bynum


Lamar Odom


Derek Fisher


Trevor Ariza


Mean 9.9 and Std. Deviation 5.2

For the Lakers, Kobe Bryant took 3 times the shots per game than 6th man, Trevor Ariza. For the Knicks, Willis Reed, took 1.7 time the shots per game than 6th man, Cazzie Russell. Which club feels like a team? Which feels like a group?  My apologies for leading the witness.

The '69 Knicks and the '08 Lakers, by all accounts, were wildly successful in their respective eras. Most people would probably choose to play on a team similar to the Knicks, where everyone was assured roughly the same number of shots. Is selflessness an indicator of team success?


I started this post thinking unselfishness was a defining characteristic of successful teams. I planned to compare a team player’s team, like the 1969 Knicks, with a ball hog team, like Kobe Bryant and the 2008 Lakers, but a funny thing happened:
The premise did not ring true.

Working Thesis

Most of us would rather play on an unselfish team, but unselfishness, while an attribute of a attractive team, is not an attribute that defines a successful team.
Teamwork is less concerned with democratic, unselfish distribution of tasks and skills, then with recognizing how best to combine the strengths and weaknesses of the players.

I suspect that successful teams determine - by a sometimes brutal mechanism akin to natural selection – which player should fill which role based on complementary strengths and weaknesses. These roles are not appointed, they emerge. Roles emerge as strengths and weaknesses are evaluated through trial and error. Appointed roles rarely work, but who doesn't know the go-to-guy 3 weeks into a project?
Avoid the trappings of appointing and anointing. Try letting roles emerge.
The Greek syn-ergos is the root of the English synergy meaning working together. Synergy describes conditions where entities cooperate advantageously for a final outcome. Synergy is an over-used word that feeds the old saw
The sum of a team's parts is more important than any individual

Groups begin the path of team transformation when each group member acknowledges and pursues a shared goal. When group members are able to subjugate personal ego in the pursuit of the most efficient path to a shared goal, they cross into the realm of team.

Teams display emergent behavior which is a collective behavior that is largely unpredicted by the behavior of individuals taken separately. Sometimes simple entities like individual players, form more complex behaviors as a collective. NBA teams assemble players based on roles like shooter, rebounder, defender, etc. They build around core players and skills that fit a style or vision with complementary players and skills.

Teams where players emerge into roles are not necessarily exclusive from the much ballyhooed cross-functional teams. On the best NBA teams, when the shooter gets hurt, other team members fill the void by taking more shots. Because you emerge as the best person to branch of your source code, doesn't mean you are - or should be - the team's exclusive branching dude.

I have heard the phrase self-directed teams used to describe teams that are given autonomy and take responsibility. Teams are self-directed by definition, so self-directed team is as redundant as Free Gift or Frozen Ice. Perhaps "self-direction" is merely another characteristic that distinguishes a team from a group.

Following is a working enumeration of some of the characteristics that might distinguish a team from a group:
  • Teams work toward shared goals
  • Teams have emergent roles based on the most efficient path to shared goals
  • Teams emerge as a single organism when advantageous
  • Teams have emergent behavior unpredicted by individuals
  • Team members subjugate individual ego for the sake of team efficiency
  • Teams are self-directed

22 October 2009

Launch Early and Learn

Launch early and iterate is a rule-of-thumb perfected by Google and practiced by wildly successful companies like Facebook. Among agilists, the notion of iterating is a given.
I am adopting a new-found mantra of
Launch early and learn
I credit Marissa Mayer. She is Google's first female engineer, Money's #21 in 40 under 40, and Glamour's Woman of the Year 2009.

Marissa gave a compelling talk to Stanford students on Google heuristics and innovation. I recommend viewing Marissa Mayer at Stanford University for 49 minutes of insight into the thought repository of an unusually smart company. Marissa gives her Top 9 slogans, joking that presenting a Top 9 is marginally more innovative than a Top 10.

I'd been brain-casting how to create a UX-Driven-Development (UDD) platform for software, when Marissa's Stanford talk introduced me to the Google slogan
Launch Early and Iterate
In front of a slide declaring innovation not instant perfection, she shared personal narratives about the early - some would say premature - launches of Google News and Google Video. I have already mused that Google Wave is an immature product (see The Missing Link in Google Wave - UI For Primates).

Five days removed from my Missing Link in Google Wave post, I finally understand the Google modus operandi.

True Confessions - Google News

The Google News team was nearing their targeted first release. Six engineers respectfully disagreed over which feature they had time to include in their debut release. Three engineers vehemently supported Search-by-Date. Three engineers passionately supported Search-by-Location. Deadlocked.

Google made the decision to polish up existing functionality and not add new functionality. They released Google News without Search-by-Date or Search-by-Location! Shortly after the roll-out, they were bombarded with emails
How come I can't Search-by-Date?
Email requests were running about 100 to 1 for Search-by-Date over Search-by-Location. Guess which feature had top priority for the next iteration?

The preview of Google Wave occurred while the ink on the Wave federation spec and the Wave API was not only still wet, but still being pushed around the page.

When I attended the Google Wave hackathon last June, Google engineers had finally stabilized their Wave Server the night before the public arrived to start banging on it. That's early.

Google Mail was in beta for so long for a reason. It is a way of working that keeps development cooperatively linked to the community. This lends itself to critical adaptations and unforeseen customization.

Whether your mantra is launch early and iterate, or launch early and learn,
Mistakes seed improvement
in software product development.

That mistakes seed improvement is particularly true, and conspicuous, if your team is geared to
Turn feedback into function
within an iterative cycle, or two.

Further Reading
  • Agile Release Strategies - A wiki initiated by by Niklas Bjørnerstedt and Johannes Brodwall. The premise of the wiki is that a software product unable to release to production at least once every three months is problematic. That is, the longer the release cycle, the bigger the risk of partial or complete failure. Wiki includes principles and patterns. The wiki helps a Product Owner determine a Minimal Releasable Product.
  • Facebook encourages developers to push code quickly. Code pushes are never delayed and are applied directly to parts of the infrastructure. The strategy is to smoke out issues, and their impact, as soon as possible. (See Extreme Agility at Facebook).
For Italophiles...
Release often and learn
Rilascia spesso e apprendi
Release often and iterate
Rilascia spesso e ripetutamente

20 October 2009

Professional Persona Primer for Twitter

Does your professional persona on Twitter have a firewall around the excruciatingly irrelevant minutiae of your day-to-day existence?

Twitter asks,
What are you doing? 
Ignore this question. There are scant circumstances where a professional community gives are rat's lip about what you're doing. If tempted to answer the question What are you doing?, think teenage boy with too much Axe cologne. It's repulsive.

If you're thoughtful, self-effacing, marginally witty, and have some dumb luck, your professional community might care to know the answer to
What are you thinking?
I chafe at hard-fast rules. But I have considered a few rules-of-thumb for cultivating your professional persona on Twitter. Consider my Twitter heuristics.

Following are 3 reasons to follow you, and 3 reasons to unfollow you.

follow you when you
  1. Tweet smart, provocative ideas (i.e., original or properly attributed ideas)
  2. RT something smart I've tweeted
  3. Follow people with smart tweets
I unfollow you if you practice chirpitude (rhymes with turpitude) like
  1. Whine about your road woes, e.g.,  "No upgrade to business class", while I'm cube-warming in hell.
  2. Inform me of what you're eating, e.g.,  "Picked up Gyro at Kabobi"
  3. Incessantly regurgitate links, mentions, and RTs for people in the same community I follow.
More about chirpitude in Information Discovery and Chirpitude.

Groom Your Persona

Make smart assertions and smart observations based on your boot-on-the-ground experience. Be sure to pass on the smart assertions and observations of others; particularly those outside the tag cloud of your professional community. It's appealing to be provocative as long as you're not the boy who cried wolf.

If you can't help yourself from hurling inconsequential slobber into the ether, create another persona that reflects the pitifully vacuous life most of us lead.

Twitter is a killer micro-blogging forum. Revel in the challenge of Twitter's 140 character limit!  Last summer I challenged the agile community with an exercise to write user stories with a 140 character limit (see User Story Tweets).

Twitter Is Like

Twitter is a like a haiku when you're not committed to a novel. Figure out what your professional persona should be. If you're a letter turner in a skin-tight body suit

  • I want to know about interesting phrases you've encountered. 
  • I don't want to know when you're stuck in traffic.

17 October 2009

The Missing Link in Google Wave - UI For Primates

The transitional fossil between a transformative concept and a useful tool is probably always going to be the answer to:

Would a primate find it useful?

Okay naysayers, New Caledonian crows are an example of a non-primate clever enough to use a stick to poke food, but the scope here is primates; the nearly hairless apes like you and me.

An amusing poll at EasierToUnderstandThanWave.com asks,
Which is easier to understand?
On the left hand side of the EasierToUnderstandThanWave.com poll, is a screen shot of the Google Wave inbox. On the right hand side, is a sequential series of screen shots of stuff that's notoriously difficult to understand like:

Google Wave Inbox
Notoriously Difficult to Understand
Google Wave Inbox

  • The Geopolitical Climate of Southeast Asia
  • Self-Balancing Binary Search Trees
  • Polymodal Chromaticism
  • The Raison d'être for the Movie The Sandlot 2
  • Mating Habits of the Red-Sided Garter Snake

Having an unfinished thesis on a hopelessly academic model for the flow of two immiscible fluids based on complex analysis, I added:
The 2D analytic manifold of a Riemann surface
to the mix of stuff easier to understand than Wave. The picture (above right) is a butt-simple graphical rendition of the surface of a square root, f(z) = Sqrt(z). To everyone's dismay, the f(z) in my unpublished thesis took an entire typeset page. No wonder I drop-kicked a PhD fellowship to procreate; mating was the only thing I figured I could do as well as a snow monkey.

Google Wave is a transformative concept. To be fair, the monkey nuts of Google Wave are built on the shoulders of forward thinkers (Ray Ozzie) and well-established technologies and standards (XMPP). But it remains to be seen if humans will find it useful.

Last July I was excited about Wave, after attending the Hackathon at Googleplex with the inimitable Garry Smith. I wrote about Google Wave and Collaborative Projects.

I was talking to everyone who would listen. Now that WikiWikiWeb founder Ward Cunningham thinks Wave is cool, every curious person in the agile community and beyond is clamoring for Wave invitations.

Where's the Grand Metaphor for Wave?

Primates need metaphors to understand. It is not human hubris to say that humans might need a smaller rock than an orangutan, nonetheless a confused human appears every much as pitiful as a confused orangutan.

Email has a metaphor. Email has snail mail where the internet is a carrier pigeon or IPoAC (IP over Avian Carriers). Instant messaging has the metaphor of Morse Code operators sending and recieving messages. A Wiki has a bulletin board metaphor. Google Wave has nothing. Yet.

Where are the Visual Cues in Wave?

To thrive in complex social interactions, primates form mental maps representing the social hierarchy of thier posse. One of the confusing things about a Wave is the absence of visual hierarchy.

In a Wave, there are no clear relationships between elements in one's inbox. Every blip carries equal weight. One might issue a mind-bogglingly-profound blip that's answered by
That's awesome dude
Both blips carry equal weight to a subsequent participant joining the Wave.

A Wave needs some kind of tag cloud do-hicky, or real-time executive summary. When there's information overload, humans need a lazy way to
Cull the salient from the slobber

Everyone at Googleplex, Younger and Smarter

I remain steadfastly bullish about Google Wave. Everyone at Googleplex is younger and smarter. The billiards-playing Stanford graduates toiling at Google's Mountain View sweat shop, and the fledgling community of adopters and gold-miners, are bound to make Wave useful to the masses. But for now, I'll continue using cotton string and re-purposed cans.
tin can phone

15 October 2009

A Plan B Approach to Planning

When Ergun Çoruh, blogger-in-chief at Negative Matter, advised always have Plan B, it resonated. He said
...the reason why plans do not work is because they don't work like Feynman's sum of histories. A plan is just a single historical path. Any divergence from that path creates a new future path, and more possibilities for further divergent paths. Like in quantum mechanics perhaps we should treat macroscopic events occurring in space-time as "sum of histories" and learn not to be hard on ourselves. What is happening "now" is just an outcome of a probabilistic experiment, not a certain thing. There is no certainty really, just as there is no platonic triangles with invisible zero-width lines. Plans always fail, the degree of failure varies.  ~Ergun Çoruh, 14 October, 2009
Software development has long agonized over plan A, and given short-shrift to plan B. I will heed and amend Ergun's wisdom by resolving to
Not fret so much about Plan A.  And, assume I'll need a Plan B.
David Koontz, blogger-in-chief of David's Agile Complexification Inverter, made this amusingly ironic comment on my Map & Terrain post
I had a sailboat that had the tentative second name of Plan B - had the lettering all done on a decal, but then decided we liked the original name and never changed it.
Sailing is an instance where one has much riding on Plan A, while Plan B could save a life. Tacking on David's course, Software QA engineer Chuck said
Sailing could probably lend many a metaphor to agile, since there's a heck of a lot of "adapting to conditions" that goes on. You might for example have planned on light winds, and put up particular sails, but then the winds change and you have to change to a storm jib (e.g., reduce sail).
And as someone that's stood out on a yard-arm, some 100' above the ocean, in a gale, working alongside a bunch of other hands to reduce sail, I can tell you it's a hell of a lot easier to do if you notice the need for change early, than if you find yourself reacting after you've been surprised because you failed to notice conditions where changing.

I could tell fish stories, but my sailing prowess sums up to tacking shallow Gilfillan Lake in a tiny cockpit-ed, single-handed Sunfish.

Chuck got me thinking about mindfulness. Mindfulness, an essential part of Gestalt therapy, is continuous, razor-sharp awareness of the moment. Mindfulness is a level of clarity of mind that allows thoughts and judgments to smoothly flow without dragging our keels on our fears, notions, and delusions. It is challenging to train one's mind to stay continuously in a state where interpretations, speculations, and projections don't hinder. For some, mndfulness it is a life-long practice.

The practice of mindfulness leads me to a fledgling approach or philosophy, if you will.

Edging Toward A Plan B Philosophy

I suspect it is possible to practice an explicit acceptance of the unexpected. Rather than trying to make better guesses and more accurate predictions, perhaps we seek an approach (or favor approaches) that have a reasonable chance of influencing desired outcomes no matter what chance hurls our way. American author Tom Robbins observed,
A truly stable system expects the unexpected, is prepared to be disrupted, waits to be transformed.  ~Tom Robbins
If it is possible to adopt a mental posture that expects the unexpected, and if it's possible to practice that mental posture, then we might find, as golf legend Arnold Palmer intimated,
...the more I practice, the luckier I get ~Arnold Palmer