Skip to main content

Exercise: Pair Programming Simulation using Tangrams

Yesterday (July, 2015) we did a lunch-n-learn at GameStop HQ on pair programming.  I think it was a great success, largely because we serve food, and I've been told that everything goes better when people are sharing a meal together (and even better with adult beverages).


Are you interested in Pair Programming?  I'll confess, the term is a bit misleading.  I was asked by multiple people if the topic was just for programmers.  No - no it's not just a programming technique. It is also for any kind of knowledge work.  Such as testing, or analysis, or writing stories, or ... yes coding, scripting, excel spreadsheets, etc.



The Agenda: Pair Programming Simulation


Start with a warm up exercise (totally non-related to the topic).  This allows all the late arrivals to find a seat and not miss out on the real start of the session.  I've found this technique (soft start) to be a required technique for companies that have not adopted basic meeting protocols, such as finishing prior to the start of the next meeting.  IF one does not finish on time, how can one start on time?

We used Thiagi's warm up of Buying Happiness

Flipped this lesson.  Although the experiment resulted in a - How Fascinating (failure).  No one actually participated in the homework to read the lesson before the experience session.  We continued without doing any actual lecture.

PDF - Pair Programming - Lessons

Query the audience - to share the common level of people with respect to the domain knowledge.  Ask a few questions - raise your hand if you have heard of pair programming, if you've done pair programming, if you only program in a pairs (every day)?  Look around - these are the experts.  Raise your hand if you are a beginner?  When you read the homework on pairing, you remember that pairing beginners with beginners is an anti-pattern.  So what shall we do about that?

Restructure the seating arrangements, have people select appropriate pair for their skill level.  Don't allow the beginners to sit together and the experts to create a click.

Part ONE.  Pair Drawing.

Let's do the simplest thing that could possibly work... everyone has learned to draw/sketch.  Let's use this innate skill to explore pairing basics.

PDF - Pair Face Drawing

Most people are afraid to draw.  At some point in our traditional schooling we are made ashamed of our ability to draw.  With a bit of expert practice many can over come this self imposed limitation.  Here's a TED Talk to start you on the path to recovery.

Why people believe they can’t draw - and how to prove they can | Graham Shaw | TEDxHull

Part TWO.  Lunch.

Typically what draws everyone to your meeting... food.  Don't do Lunch-n-Learn with out this.

Part Three.  Pair Puzzle Solving.

Let's extend our learning into a harder problem domain... solving a puzzle - Tangrams.

PDF - Pair Puzzle - Tangram Solving

PDF - Cultivating Collaboration - Simulation via Tangrams - or a starter guide to Pair Programming


This exercise can touch upon the aspects of Test-First (TDD) practices.  Typically a topic for another Lunch-n-Learn.

Debrief.

A great facilitator does the exercise / simulation just to get to the debrief.  Reflection is the only activity where double loop learning may occur.  Using metaphor and analogy to relate drawing faces or solving Tangrams to developing software is the job of the debrief.


In a large group with many subgroups this can be done by projecting the debrief question on the screen and having the subgroups (tables) debrief themselves.  Extra points given for summaries of learning points or action items discovered.

We did a debrief after each example problem.  Then ran out of time to debrief the whole workshop - but did get Level One feedback on the workshop.  It was a 8 or 9 (out of 10) with a few improvement to make for next time.

    
      
  


See Also:

A Week of Pair Programming by Matt Chalice

Two Years of Pair Programming by Matt Cholick
Post a Comment

Most Popular on Agile Complexification Inverter

David's notes on "Drive"

- "The Surprising Truth about what Motivates Us" by Dan Pink.

Amazon book order
What I notice first and really like is the subtle implication in the shadow of the "i" in Drive is a person taking one step in a running motion.  This brings to mind the old saying - "there is no I in TEAM".  There is however a ME in TEAM, and there is an I in DRIVE.  And when one talks about motivating a team or an individual - it all starts with - what's in it for me.

Introduction

Pink starts with an early experiment with monkeys on problem solving.  Seems the monkeys were much better problem solver's than the scientist thought they should be.  This 1949 experiment is explained as the early understanding of motivation.  At the time there were two main drivers of motivation:  biological & external influences.  Harry F. Harlow defines the third drive in a novel theory:  "The performance of the task provided intrinsic reward" (p 3).  This is Dan Pink's M…

Elements of an Effective Scrum Task Board

What are the individual elements that make a Scrum task board effective for the team and the leadership of the team?  There are a few basic elements that are quite obvious when you have seen a few good Scrum boards... but there are some other elements that appear to elude even the most servant of leaders of Scrum teams.









In general I'm referring to a physical Scrum board.  Although software applications will replicated may of the elements of a good Scrum board there will be affordances that are not easily replicated.  And software applications offer features not easily implemented in the physical domain also.





Scrum Info Radiator Checklist (PDF) Basic Elements
Board Framework - columns and rows laid out in bold colors (blue tape works well)
Attributes:  space for the total number of stickies that will need to belong in each cell of the matrix;  lines that are not easy eroded, but are also easy to replace;  see Orientation.

Columns (or Rows) - labeled
    Stories
    To Do
    Work In P…

Exercise:: Definition of Ready & Done

Assuming you are on a Scrum/Agile software development team, then one of the first 'working agreements' you have created with your team is a 'Definition of Done' - right?



Oh - you don't have a definition of what aspects a user story that is done will exhibit. Well then, you need to create a list of attributes of a done story. One way to do this would be to Google 'definition of done' ... here let me do that for you: http://tinyurl.com/3br9o6n. Then you could just use someone else's definition - there DONE!

But that would be cheating -- right? It is not the artifact - the list of done criteria, that is important for your team - it is the act of doing it for themselves, it is that shared understanding of having a debate over some of the gray areas that create a true working agreement. If some of the team believes that a story being done means that there can be no bugs found in the code - but some believe that there can be some minor issues - well, …

A Beloved Community Fixture

Does your Agile community have a local hub, a place where you are 80% sure you will run into almost everyone in the local universe if you attend enough events, meet ups, and bar tabs?

Mine does, ... let's test this out...  I will tell you my locations - and if you know much about it, let's see if you can ... guess, ... no, not guess,  predict, no... forecast - can you forecast the name of our local hub of Agile community?

I'm in Grapevine, TX ... let me broaden that for you...  Dallas / Fort Worth.

Now if you have any experience with the DFW area ... been to user groups in the area or perhaps software development oriented conferences.... you may know the place where... like Cheers - where everybody knows your name.  Who is it?

Spoilers .... hi sweetie ... I will put the answer a bit further down the page.
I just read this article in INC. - Here's the Secret Sauce for Turning Your Business Into a Beloved Community FixtureBy Leigh Buchanan Editor-at-large, Inc. magazine.

Craftsman - is not the gender neutral term we men believe it to be

Pondering... why are gender "neutral" words such as craftsman are not as gender neutral as we men seem to think they are?
I've been personally trying to break myself from a bad habit... one that I've thought was not such a big  deal...  I use the term "guys" in mixed company to describe a group of people ... not yet a team.  In mentoring groups toward becoming a team, I reserve that term for groups that truly behave like a real team.  I was giving a presentation at a local special interest group and afterwards a person gave me some useful feedback... my usage of the term "guys" was distracting and verging on "off-putting" in the room of mostly females.  I needed to read the audience and the room - and choosing the proper term would help them to engage... what I truly desired.

I remember in the 1970s (yes this should date me) teachers in school told us that some words were considered gender neutral - I believe that "guys" was on…