We all know the story, right? A chicken and a pig decide to create a restaurant. When they are trying to decide on a name, the chicken says "I know, lets call it Ham and Eggs!" To which the pig replies "Sure, easier for you to say. You will just be involved, where I will be committed!"
This story was originally applied to agile development by way of Scrum. The idea is that some members of the team, the ones who have their "ham" on the line are pigs, and anyone else with a less central role are the chickens. Why do we care to make this distinction?
In a Scrum development process, the meetings that are prescribed are the Release Planning, the Sprint planning, the Daily Standup and the Sprint Review. In each of these meetings, the only attendants who are allowed to talk are the pigs. Chickens are welcome to attend, but in a listen only mode. This style is a reaction to the meetings that we have all run into in any traditional software development project. The manager, or a visiting executive, spends all the allotted time explaining his vision of the universe, and the development team doesn't get any real value out of the actual meeting.
What are some of the more common pigs in an agile team? There are of course the programmers and the testers who are committing the software. There are the documentation specialists and the IT folks who will be deploying the software. Who are the chickens on an agile team? Well there is the functional manager. There is the product manager. Some folks will say that in the standup the Product Owner is a chicken. Once again, the idea is that in Agile if you aren't one of the folks actively writing/testing or deploying the software, you are a chicken.
At the risk of bringing yet another barnyard animal into the conversation, I think this is bull. Project managers have a lot of commitment to the success of a software development project. Functional managers' careers live and die by the success percieved or otherwise of the application development. Rather than spend time giving people labels and deciding who is allowed to speak or not, a truly agile team should spend the time maintaining mutual respect. A manager will respect her teams' time and not just run off at the mouth. A programmer will respect her manager enough to understand that some of the important parts of a development project may have little or nothing to do with technology. And everyone will respect each other enough to make sure that the discussion stays on track. If and when it starts to drift, respectfully help each other back on track.
So what's the Rest of the Story? The pig is committing himself. The chicken is committing her children. In the words of Will Smith's "Just the Two of Us": "From the first time the doctor placed you in my arms, I knew I'd meet death before I let you meet harm."
Happy Fathers Day.