This idea has come up in two separate contexts for me now.
1. A team (or company) that is focused on delivering software, should be made up of as high percentage as possible of real developers. XP tells us that we want the developers writing the test scripts, doing the design, fleshing out the requirements -- not testers, business analysts, or (god forbid) object architects. See SpecializationIsForInsects
. Additionally, the management structure should be as lean as possible (in terms of number and structure, not necessarily physique <g>) to keep the team nimble, and you certainly want the management to understand software development deep in their guts. Management is best made up of people who have a strong yearning to write software, (ManagersShouldBeDevelopers
) but are (maybe temporarily) assuming other roles. Team leads should be the strongest developers in the group, and you should work hard to ensure that they get to do as much real development (and as little administrative overhead) as possible.
2. Anthropologists don't have interesting, fruitful cultures -- they study people with interesting, fruitful cultures. (I hope there are no anthropologists reading wiki!) As far as I know, no one has done any formal anthropological studies of anthropologists. <g> In the same way, we don't want people on our teams who study methodologies, we want people who apply them. Sure, there is a place for "field methodologists" to look at various project teams and assess how their methodologies (or cultures) fare. And we certainly want our development teams to be open to learning from these field methodologists. But what we want on our teams is for everyone to be focused on delivering systems that work and that meet our customers' needs. -- BillBarnett
This puzzles me: why would the study of method prevent
anyone from also being a developer? Perhaps AllDevelopersShouldBeMethodologists
It does not automatically prevent anyone from also being a developer. But in my experience, people who think of themselves as methodologists lose sight of the importance of the end system, and get caught up in fulfilling the rituals of the methodology they espouse. They mistake the menu for the meal, or the map for the road... <shrug> Maybe others have had a different experience?
people who think of themselves as methodologists lose sight of the importance of the end system
Which is where we started back on EveryoneShouldBeAMethodologist. The sense of "methodologist" that I (and I believe MichaelJackson
in his book quoted there) are espousing, is exactly opposed to the sense that you are, rightly, condemning above.
You know it gets bad when people dedicate themselves to studying the studiers. When I opened up PLOP3 and saw A Pattern Language for Pattern Writing
I knew it was the beginning of the end...
Point conceded. As KingCrimson?
said: "I repeat myself when under stress, I repeat myself when under stress, I repeat..." :)
See also: ComputerProgrammingForEverybody