Wednesday, January 8, 2014

Binary Clarity Defined

A phrase often heard at my workplace is "binary clarity". While it is often heard (mostly from my lips), it is less understood, and even less frequently internalized. Starting with the dictionary can help us:

Binary -- consisting of, indicating, or involving two.
Clarity -- clearness or lucidity as to perception or understanding; freedom from indistinctness or ambiguity.

I especially like the last phrase in the clarity definition -- "freedom from ambiguity". Software and our language about the software we produce is filled with ambiguity, how can we ever be completely free from it? My answer has always to been to use language that is binary. By doing so we can dramatically reduce our ambiguity. Credit for this concept goes back over a decade to a Project Management Seminar that I took where the instructor used the phrase -- "Binary Completion Criteria".  Again, using the dictionary again, we find:

Criteria-- a standard of judgment or criticism; a rule or principle for evaluating or testing something.

I note the last phrase again -- "testing something".  When we put these three words together, it's clear that it is very relevant in our current agile/lean age. Our best criteria are tests. Tests can be expressed in binary fashion and their results increase our understanding. Anthony Boobier, writes in "Splitting a User Story",  If User Story A has completion that is binary; it is either 'Done' or ‘Not done’. He defines binary completion to mean mean the acceptance criteria must be met.   The best acceptance criteria is testable. Testing allows you to get to pass/fail == "binary"

Beyond the software itself, this can also be applied to our language. At a Webinar on Scrum and Kanban, Kent Beck made the statement, "Never underestimate the time you will spend defining 'done' ". I agree and add as a corollary, it is time well spent if it removes ambiguity. (See recent post with reference to "Done", "Done, Done" , and "Done, Done, Done").   For any task, we can decrease our ambiguity if our common language is binary: yes/no, black/white, etc.

Bottom line when I use the phrase -- "binary clarity", it is just a means to an end -- "Freedom from Ambiguity". In our daily work lives, what could be better than that?

Sunday, December 29, 2013

Clarity with No E-Mail -- Part II

For those of you that read my previous post, you might be interested in the ironic conclusion.   For those of that did not read it, the quick synopsis was that "John Q. Public" was not interested in e-mails, unless they were from his boss.   He was ready to strangle the person responsible (unless it was his boss) for sending him so much e-mail from JIRA.   Both his (and my) suspicion was that a JIRA template was created so that he was getting added to the watch list for all new JIRA issues that met a certain criteria.   

"John" decided to dig into it further, and when he found no template, he asked the authors of some of the JIRA issues he was not "interested in".    The "template" in question was text file that the individuals were instructed to add him to the watch list of *every* JIRA issue they wrote.   Who instructed them to did this?    None other than "Johns" boss. :-)

A better ending that an O. Henry story!

Tuesday, December 10, 2013

A true story.....Clarity - with no e-mail

The following IM exchange is a true story -- the names have been changed to protect the innocent (and the guilty).   Things I noticed:
  • The distinction between "binary clarity" and the nebulous  "done", "done done", and "done done done"..... -- more on this in a future post
  • John Public's concern over e-mail "from the boss" vs. those that can give him clarity.
  • "JIRA" -- a free "plug" for JIRA from Attlassian -- I am not on their payroll.

john.public@company.com 10:21 AM
So James, the question is: "Can Consulting Company XYZ work on Ticket-1234? (I think that's what Joe was hoping...). Or does it have to be Fred?"
James Q. Public 10:22 AM
Ticket-1234 has been resolved.  The ticket is in "Resolved" status
so it would be waste of time
patience young man
I am not done w/ my updates
to that ticket
to achieve "binary clarity"
John Public 10:26 AM
"binary clarity" = "done"/"not done"?;)
James Q. Public 10:27 AM
exactly!
thank you for not e-mailing me on this;)
John Public 10:27 AM
I always thought there was "done", "done done", and "done done done".....
Hey, that reminds me - who do I talk to that can get my name off all the JIRA Tickets? It's flooding my email and I'm missing JIRA Tickets that I actually need to do something about....
James Q. Public 10:29 AM
interesting thought.......
JIRA tickets are how SW is changed
IMO 
we send too much e-mail "about work"
JIRA can do the same
and it is directly tied to the work being done
this whole "project" has been 
more about talking about work
rather 
than doing it
John Public 10:32 AM
So add a JIRA ticket to keep myself from arbitrarily being added to the Cc: list for all <project name> Jira tickets?:(
or is there some "<project name> JIRA master" that can remove me?
James Q. Public 10:32 AM
we all have "free will"
U can remove yourself from any ticket
that will be visble to those on the tickets
John Public 10:33 AM
I want to keep from being arbitrarily added in the first place.
James Q. Public 10:33 AM
*somebody* thought you should be added
John Public 10:33 AM
So if I have free will can I "strangle" that person?
(assuming it's not my boss....)
James Q. Public 10:34 AM
another interesting thought.....
John Public 10:34 AM
heh
James Q. Public 10:34 AM
I would think you would be > interested 
if that person were not your boss
John Public 10:34 AM
I'm very philosophical this morngin.....
James Q. Public 10:34 AM
because they are >> closer to the actual work
and >> grounded and facts 
I am adding you to tickets as we "speak"
:)
you will get no sympathy from me
as I am on more 
JIRA tickets than anyone!!
John Public 10:35 AM
No! NO! I'll stop "speaking"!! I'M SORRY!!!
James Q. Public 10:36 AM
because what you will get from the current
<project name> team is
1) stop sending me e-mails
2) comment in JIRA tickets
James Q. Public 11:30 AM
Still there?
John Public 11:30 AM
yup
James Q. Public 11:30 AM
these are e-mails that I think you would *crave*
<JIRA Ticket URL>
:)
"This is nothing more than best practices. "
this is not about "throwing work" to Consulting Company XYZ 
but KT for them to be more productive
are you clear on the current status?
John Public 11:34 AM
Ok. The way Joe had added it as a "Tab" on the Consulting Company XYZ Status report, he though it would be a longer term project that requried work to improve the speed of the builds.
And Sue was to coordinate between us and Consulting Company XYZ...
James Q. Public 11:34 AM
:)
so the "OK" means you are clear -- correct?
John Public 11:35 AM
So we don't believe that's an issue anymore - no room for improvement in the build process performance?
(just want to be sure what I'm saying OK to...):)
James Q. Public 11:35 AM
OK to "clarity"
as in your personal clarity
John Public 11:36 AM
or at least nothing that Consulting Company XYZ could help with, right/

Sunday, November 3, 2013

Missing a feature - Is Your Mind Open to Your Creative Muse?

Without naming a software tooling I was recently using, I so surprised that it lacked a feature I wanted to use.  So surprised in fact, that I figured another user must have already entered it as a feature enhancement.    When I went to there enhancement request system, I could not find it.  I am active their forum and while I found an active discussion about the feature (and several proposed work-arounds), it is clearly not in the immediate future.  What was I to do?   Further, this was just one step along the way to solving a much larger problem.

After several days wondering what I would do and pondering the work-arounds discussed on the  forum, suddenly a solution to towards the larger problem emerged.   Strange, but I am convinced that if the original feature had existed, I would still be chasing the larger solution

What happened? Three key things that I can think of:
  • I thought about more how my feature would have helped with with the larger problem.
  • I collaborated with others on the forum to see their struggles and possible solutions.
  • My mind continued the work the problem.
What can we theorize about this last point?   My spouse is a special education teacher and statistics show that a "practiced skill" must be repeated 27 times to completed with 80% accuracy.    I no doubt read about 2 dozen solutions on the forum/news group and I am sure my mind worked it at least that many times.

Stuck on a problem?  Seek out others, listen to them, think about what they are saying.   Then let your mind "riff" (27 times) on all of it.

Thursday, October 10, 2013

Kanban It Is

Sometime ago, I posted that my team was using a "Wiki Version of a Kanban board".   We had been using this to track multiple code lines with status on builds, testing, and critical issues we had written up.    Re-reading that post now, I realized that a Kanban board would be for an individual release.   I had been using another Wiki page that was a Kanban page of sorts for over 5 years.    This allowed me to do *my* job during that tenure as it was exactly how *I* tracked the release.   As I showed more individuals, it became clear that not everyone thought like I did :-) 

I need a much simpler format (that actually looked like a Kanban board).   With the help of a colleague, we were able to quickly create a new Wiki page that actually is a Kanban board (pictured below).    There is no one that shows up at our daily stand up that is not able to understand "Considering", "Doing", and "Done".    This is  especially true of the release team -- they are much happier when they see everything in the "Done" column.

Sunday, September 29, 2013

Is Your Mind Open for the Ridiculous?

A few weeks back, some colleagues of mine went on a visit to a customer.    This customer runs many of our existing products.    One of those colleagues and I had been recently discussing how we notify customers of our changes.    I was describing very excitedly sharing my belief that what I had been doing was some cutting edge/forward thinking on this topic. I was trying to paint a vision, and while this person remembered the vision, they did not know that it was *vision* and mentioned it to the customer as fact.  I got an e-mail as the meeting was taking place.   I was dumb founded that this colleague could not differentiate between fact and fiction -- what a ridiculous thought!

Just as I was thinking how ridiculous the idea was, I suddenly thought of a related idea that was not ridiculous at all.    This idea  did not have a huge fact/fiction delta and is something that we could deliver to our customers in fairly short order.    I would never have come up with this idea unless my colleague had not suggested such a "Ridiculous" idea.   Are you ready for ridiculous?  If not, try and move from a "Fixed Mindset" to a "Growth Mindset".

Friday, September 20, 2013

Old Tools, New Rules

My last few posts have been about relatively "old" technology.   Today I add one more -- the telephone, even if we are not using the "phone" in much different way: more teleconferences, iPhone, Bluetooth devices, etc.   

I have had two recent conference calls where it has become painfully obvious that the individuals have forgotten the polite use of the mute function on any device.    While it understandable that a short conference one can be excused for some background noise and a sigh or heavy breathing (yours truly has been guilty while walking up 12 flights of stairs), the most common offense is typing at a keyboard while having the phone close.   I recently attended a meeting where 75 attendees spent 34 minutes trying to get a conference-ed in attendee to mute their phone.  
Here is some simple advice for both Attendees and hosts:

Attendees:
  • Desk phone - mute the phone and have visual a indicator of whether or not you are mute.   Better that you have headset.
  • Mobile device -- a head set with a speaker is a *must*.   Mute as needed.
  • Join the meeting on time, announce yourself.   If you are late, don't announce yourself.

Hosts:
  • Start the meeting on time -- announce who is physically present, take a roll call of those conference-ed in.
  • Ensure that physically attendees speak so those on the phone can hear.
  • Provide a mobile friendly "1 touch dial" i.e. ",,," to pause where a pass code is required.
  • If your attendees aren't "mute friendly", make sure you know how to mute them!