Skip to main content

Dogfood David

I just tagged myself Dogfood David in a retrospective the other day.  Our Product Owner was running a few team building games.  We were playing an Agile word association name game, the ball was tossed to me, the pressure was on, I had to find an Agile word/concept that started with D.  Dogfood David just blurted out of me.

Why did this happen?

As it turns out I do believe in eating my own dogfood.  I have literally made and eaten dogfood.

Kato & Tyler
My wife and I had two dogs when we were married.  After our honeymoon we moved to Salt Lake City and bought new unknown brand of dog food.  Our golden retriever, Tyler, had epilepsy and  he started having daily convulsions.  My wife spotted the pattern. She had been reading about controlling epilepsy in humans via diet.  She put two very temporal separate things together and decide that we had to change Tyler's diet.  More research turned up a book that recommended a vegetarian diet for dogs with epilepsy.

We started making dog food.  Tyler became a vegetarian.  If you have dogs you know that they will share a dish, so this meant that Kato, (a full blooded lab - its a joke), became a vegetarian also.  We made beans & rice for these guys for years.  Tyler's seizures lessened from daily, to weekly, to monthly, to yearly.  Near the end of his life we couldn't remember the last time he had a seizure.

Once the seizures were under control (a relative term) we of course experimented with variations of the diet.  In years of experiments and reflections of what he had eaten just prior to a seizure we had plenty of empirical evidence supporting one theory of epilepsy, toxicity. 

Do you eat your own dogfood?

This phrase "eating your own dogfood" stems from a Loren Green TV commercial for Alpo ( IEEE article).  It is the concept that one uses what one produces, that your products are something that you yourself would consume.  Having eaten beens and rice and then given that to my dogs, I have done this.  It is slightly different than left-overs, when the intent of cooking beans and rice was to make dogfood.  Two active dogs can eat a lot of beans & rice, so we did get tired of beans, variety is important in life.

What does this have to do with a team building game?

I believe in the power of the Scrum Retrospective process.  I had just spent 2 weeks coaching this team in their first baby steps into the Agile world.  We did training, and workshops in Release Planning, in Sprint Planning and Scrum framework, in story creation splitting and sizing, in prioritization and had created a release plan for a minimal viable first release.  The retrospective that the Product Owner was facilitating was designed to deliver 3 things:  team building, feedback for the 2 week workshop, and an example of a retrospective.

By encouraging the PO to run the retrospective I wanted to foster that leadership role that he was taking, to build even more trust and understanding.  I saw a desire that he wanted to help the team gel.  Some portions of the team was from Bosnia and would return there in the afternoon.  I wanted our last face-to-face interactions to be positive and fun.  I also wanted feedback on the 2 week workshop, they will not have to do this again, but I will.  What will I strive to improve for next time?  They are the subject matter experts now - I needed their feedback.  Asking for feedback - shortening my feedback loop - reducing my cycle time - it is all about eating my own dogfood.

Related Post:  Dog Grooming Exercise a simulation in Agile Story Sizing using Affinity Estimation technique.

Warren Harrison, "Eating Your Own Dog Food," IEEE Software, vol. 23, no. 3, pp. 5-7, May/June 2006, doi:10.1109/MS.2006.72

See Also:

Michele Sliger - Personal Agile she has asked her twitter base if people are using Agile techniques to manage their personal lives. Does the Agile mind set creep into personal lives? I would hope so, and expect it if the philosophy is sound.
Personal Agility - How we planned the Month of Chassing Snow.
Post a Comment

Most Popular on Agile Complexification Inverter

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: 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, …

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
    To Do
    Work In P…

Webinar: Collaboration at Scale: Defining Done, Ready, and NO.

I was invited to participate in a Scrum Alliance Webinar.  Maybe you would like to listen to us in a discussion of techniques to collaborate at scale (remotely and with many people).  The topic is one that I've got some experience in discussions - yet I never seem to get to done...
Collaboration at Scale: Defining Done and Ready and NO for Distributed Teams
With Joel Bancroft-Connors, Agile Organizational Coach; David A. Koontz, Agile Transition Guide; and Luke Hohmann, CEO and Founder of Conteneo, Inc.

14 February 2018 11 a.m. ET (USA).

The Scrum Guide is pretty clear on the criticality of the definition of Done: "When a Product Backlog item or an Increment is described as "Done," everyone must understand what "Done" means. However, the Scrum Guide ALSO says that the definition of Done can "vary significantly per Scrum Team." This leads us to examine when and how the definition of Done should vary, how distributed teams should cr…

A T-Shaped 21st Century Knowledge Worker

Knowledge workers in the 21st Century must have many areas of deep knowledge, while also be capable of collaboration across multiple other domains with dissimilar T-shaped individuals.  This description of a person is a metaphor.  Compare it to the shape of the "I" in the classic saying there is no "I" in Team.

I first read about Scott Ambler's term "Generalizing Specialist" - but it's so hard to remember the proper order of the words... get it backwards and it has an inverted meaning... T-Shaped is easier to remember. 
A generalizing specialist is someone who:
Has one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...). Has at least a general knowledge of software development. Has at least a general knowledge of the business domain in which they work. Actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.  General…

A FAILURE to Communicate

I was working with a failing team some time ago.  I use "failing" to describe the outcome of the team - not the people on the team.  Are you OK with that description?

An issue arrose in the stand up - a team member that was to verify the quality of a procedure did so and reported that there were a few records that didn't match expectation in the data set.  Upon inquire the number of records not matching was over 2000.  Most people acknowledged immediately the exaggeration - I could tell by the laughter.  After about 10 minutes of discussing the details of the problem - it appeared the team had a handle on the specific situation.

I stopped the discussion and inquired if they could name the impediment.  One team member did a great job of describing the impediment as a _communication gap_.  Wonderful - I could work with that - the problem had a name and it didn't include anyones Proper Name.

"If the problem has a first name; we are going to have a problem."