Thursday, March 22, 2012

Kanban Pizza Game

At the March DC Scrum User Group, Dave Sharrock presented a great fun and interactive Agile games session called the "Kanban Pizza Game". Each team owned a pizza store and had to take in orders and bake pizzas. The teams had to adjust their processes to eliminate waste and maximize value. The game demonstrated perfectly how a Kanban System works. We started with no process and slowly observed and made adjustments to optimize our flow.To get a better idea of the game, check out the presentation below


Sunday, February 12, 2012

Share the Love


Agile encourages self-organizing teams and emphasizes team performance. This is at odds with the traditional employee performance review and the individual recognition system common in most organizations. Phillip Rosedal founder of Linden Labs (creators of second life) approached this problem with an innovative system that he setup at their offices. The system allowed team members to send each other short “Thank you” messages of appreciation in recognition of a job well done. The office also had large monitors that continuously displayed these messages of recognition while making everybody aware of what others were working on (information radiators). Rosedale also introduced employee driven bonuses, where each team member got a certain amount per year that he could allocate to other deserving team members. The idea is that people closest to the team know best who the peak performers are.

Rosdale has expanded on these concepts to create The Love Machine. This is a commercial product were companies setup thresholds for rewards and then team members send each other love messages showing their appreciation to others for a job well done. Each message received counts towards points that team members accumulate and later redeem for gift certificates.

I've heard that LivingSocial and Yelp use this system but besides that, I don’t know how widely companies are adopting the Love Machine or how effective it truly is. What do you think? Is your team ready to share the love?

Wednesday, January 4, 2012

Timeline Retrospective

Agile Retrospectives: Making Good Teams GreatThe Timeline Retrospective is a technique used to reflect back on major events that occurred during a Sprint or a Release

The process is as follows: 
  1. Silently write down on sticky notes the major events that occurred
  2. Create a single timeline on a wall 
  3. One by one, layout the notes in order of occurrence on the timeline
  4. Place positive events above the timeline and negative events below the timeline
  5. Discard duplicates
  6. Have one person walk through the final timeline
  7. One by one, rank the events on the timeline using dot voting 
  8. Identify actions for the highest ranked events
  9. Rerun the time line with the actions and see what changes and if you get the desired outcome. 
 
Adapted from: Putting the fun back in your retrospectives @ Agile2011

Friday, December 23, 2011

The Code Christmas Tree



The Code Christmas Tree is a technique used to visualize the quality of your code. It is based on a treemap which is an information visualization technique to display hierarchical or tree-structured data as a set of nested rectangles. Branches are represented by rectangles and sub branches are represented by smaller rectangles and so on. The leaf node’s rectangle has an area and color proportional to a specified dimension of data. In the case of the Code Christmas Tree these can be lines of code, cyclomatic complexity, and test code coverage. The different colors and sizes make it easy to see patterns that would be difficult to spot in other ways. Looking at the tree you can quickly identify which code areas are clean and which ones need more tests or major refactoring.



The chart examples shown here were generated by Michael Kaiser and Guy Royse using a utility that displays Big Visible Metrics (BVM). It takes XML metrics generated by Sonar and parses the data and converts it to CSV data that is then consumable using the Microsoft Treemapper and Excell Add-in to generate these colorful charts. The size of the rectangle represents lines of code. The color represents cyclomatic complexity or test coverage. The large red rectangles are the code targets that need to be refactored or need increased code coverage. BVM is on GitHub and you can find out more about it here.


Adapted from The Code Christmas Tree @Agile2011

Tuesday, December 13, 2011

Draw me a picture

Draw me a picture is a retrospective technique that can be used when people are tired of the same old routine and when verbal communications are failing.

The process is as follows:
  1. Ask the attendees to silently reflect on the on the events of the last iteration or release 
  2. Ask them to draw a picture reflecting their feelings 
  3. Place the picture on the wall
  4. In turn, let each participant describe their picture and provide a title
  5. Try to observe patterns to highlight significant events or impediment


Adapted from: Putting the fun back in your retrospectives @ Agile2011

Tuesday, December 6, 2011

The 1st ever bug


In 1946, the 1st ever case of a bug was reported when an actual moth trapped in the relay of a Mark II caused it to malfunction. The bug was removed and taped into a log book and recorded as the 1st actual case of a bug being found! The log book (with attached moth) is on display at the Smithsonian National Museum of American History. How’s that for error tracking!


The term bug however was coined earlier as records show that Thomas Edison used it in 1878:

“It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that 'Bugs' — as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.”

Adapted from: Refactor your wetware @ Agile2011

Tuesday, November 29, 2011

The Kata in the Hat

At Agile 2011, Emmanuel Gaillot and Jonathan Perret performed a coding Dojo entitled "The Kata in The Hat." Emmanuel and Jonathan are behind the original coding dojos in Paris. Usually, katas are performed by practicing TDD and applying baby steps. The main kinds of Katas include:
  1. Prepared Kata  where someone comes prepared with a full solution to the Kata and presents it to the group.
  2. Randori Kata where the group rotates pairs so solve a particular problem.
The Kata in The Hat is a twist on these katas. Here, the hosts had a hat in which audience members can write-in rules and requests and drop them in the hat. The presenters start with a main idea, but every five minutes one paper is pulled out of the hat, the instructions are read and the timer is reset. The hosts continue to pair program, but now they incorporate the new requests into their code. And so on... The interesting part is seeing how they can finish each request by doing the simplest thing that can possibly work. They quickly adjust and keep the code moving as they try to solve the main problem no matter what is thrown at them. This type of Kata is definitely not for the beginners, but it’s a great show that is fun, entertaining and educational. If they are ever touring at a conference near you, I highly recommend you attend.

"The big idea we want to get across is that programming can be beautiful, and that through creativity and beauty and poetry programmers have much more power than they think."
 http://thekatainthehat.com/