Skip to main content

Einstein's Sailboat: 3 Ways To Speed Learning for Agile Newbies

Albert Einstein turns out to have been both an awesomely brilliant physicist and an enthusiastic but comically bad sailor.  Apparently, he spent whole summers amusing his neighbors by capsizing frequently and needing to be fished out of the water.  You would think that he could be calculating wind directions and consequences in some small corner of his vast brain, while also solving World Peace, but you would be wrong.  Not sure about the World Peace thing, but he definitely couldn't sail.

From a post by "Angel" on  Watermark suggests image wasn't obtained legally by Angel, but what a cool photo!
Einstein's difficulties have several points of relevance to you, if you are a person charged with helping people develop software in an agile way.  It's not just a parable--it's a valuable set of lessons learned!  Here's how to plunge forward in your agile training program with more speed and less splashing.

Speed Teaching Tip 1:  Brilliant High-Level Generalizations Are Not Your Friend When You're Trying To Learn To Do Something In Particular With Multiple Tricky Steps.  Some would-be agile trainers like to sweep their arms expansively and say "everything you need to know is in the Agile Manifesto!"  Or maybe they will agree to throw in the Agile Principles too.  In fact, I challenge you to find an "Agile for Beginners" deck that doesn't start with a little meditation on the Manifesto.  Yet how helpful is that? 

Did the Agile Founding Fathers write up the Manifesto first, and then derive their various methodologies from it?  No, they did not.  They tried a bunch of stuff, kept track of what worked and what didn't, wrote books, staked their intellectual property claims to some different specific methodologies like DSDM and Scrum, and then eventually agreed that the Manifesto captured some common things across those specific methodologies. 

Why, then, do we insist on teaching agile as though it can be derived from the principles instead of vice versa?  We get pointlessly tied into knots that way.  Let's not do that any more.  When working with beginners, you can skip those Manifesto slides.  I give you permission.  Which leads us to:

Speed Teaching Tip 2:  Maps, Checklists, and Procedure Descriptions Really Are Your Friend.  Airplane pilots reliably maneuver their crafts all over the world with far more reliability and far fewer accidents than the average American motorist, and let's just say we're glad Einstein didn't fly us to our most recent conference speaking gig.  How do the pilots do it? 

They use checklists to keep track of the details.  Yes, they have experience, knowledge of the principles of aerodynamics, and muscle memory, and no, they wouldn't be able to depend solely on checklists when conducting an emergency landing on the Hudson.  But they can focus on the things that take human execution because they have written down the detailed things they need to remember, and they make it a routine to consult those lists.

Would it be so bad to create a standard set of checklists for our software development teams?  How about if we stipulate that people can tailor the lists to their needs, and that the lists will change over time?  Complicated things lend themselves to being presented in a predictable order.  Which brings me to:

Speed Teaching Tip 3:  Just Use a Timeline.  When people learn, they need to attach the new information to old information in their brains.  Everyone's brain is going to do associations differently, but you have a fighting chance of attaching at least some information to everyone's brain if you organize your thoughts in chronological order.  Almost everyone you will ever present with a deck can relate to "beginning, middle, and end."  Organizing your agile presentation "topically" the way you think about it will drastically cut down on how much other people can actually absorb from you.  What unifies "Pair Programming, Sustainable Pace, and Evolutionary Design?"  Only you know.

There is something unbearably cute about the idea of Albert Einstein capsizing sailboats around the world in his free time.  But if large scale agile transformation is something you do for actual pay, I recommend stowing the brilliance and hauling out some dry procedural documentation, at least when working with beginners.

Popular posts from this blog

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else.

Here's what you should think about:

1.Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that:
a.You need your user experience people (if applicable) and your analysts at the beginning of the project, as always, b…

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read.
WBABA: in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration!Corporate Standards Guy:  but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actual quotation from the Center of Excellence for Software Traceability website!] WBABA: [cowed silence]Corporate Standards …

The Agile Business Case

Many agile teams have never seen a business case, ever, and they may even be proud of it.

Our mantra is that we deliver "business value," not just "software," quicker, better, and faster, but if so, we certainly don't spend a lot of time reporting on value delivery, and in fact we may be scornful about "analysis paralysis."  As software developers, we consider ourselves to be doing quite well if we can deliver the software every two weeks (or continuously).  And this is particularly if we've enabled this frequent high-quality delivery through automated testing and automated build-and-release techniques.  We've reduced business risk by making results visible more often, and allowing the business to change direction more frequently.  We assert that along the way of course we're also delivering value.  But how would we prove it?

I've recently posited that we shouldn't even think of doing agile projects without capturing and recording s…