Archive for August, 2008
There is no need to attempt to determine the net effect of cities on costs in general. First of all, there is no such thing as costs in general. There are particular costs that matter differently to particular individuals and enterprises, and those individuals and enterprises can weigh for themselves the various costs and benefits that affect them. The assumption that third-party observers can make better decisions than the people directly involved has produced many urban fallacies and many economic and social disasters. The belief that third parties with no stake in the outcome are empowered, morally as well as politically, to override the decisions of those who do have a stake in the outcome has been institutionalized in ‘city planning’ studies at universities, in ‘smart growth’ laws and policies, and in various crusading movements to stop ‘urban sprawl’ or to cure neighborhood ‘blight’ – as third parties choose to define these terms.
I came across this quote by Mr. Sowell (page 39) in the course of my normal reading, and it seems to follow with what I currently see happing in the Agile community. One of the overriding feelings I have after Agile 2008 is that many people believe ”Agile == Scrum”. Since I’ve never done a full implementation of Scrum/XP, it’s hard to say (I’ll cover my path somewhere else). But, to the point.
Reread Sowell’s paragraph again, only replace “cities” with “processes”, replace “urban” with “project”, and then drop various agile methodoligies in for “city planning” and “smart growth” and various “bad project smells” in for “urban sprawl” and “blight”. what do you get?
Think about it. This is what agile set out to fix, but now it is what agile as become. Instead of “too much documentation” and “analysis paralysis”, we’ve got “fixed length iterations” and “Test first”. Are we condemned to always put bandaids over what we’ve got? We know that it is much harder to take away a process than to add it in most cases, and this matches well with what Sowell sees about property laws and regulations. It is good that our community continues to learn, and continues to evolve, but we must focus on allowing that evolution to take its course wherever it may go. We cannot allow ourselves to fall into the trap of holding certain tenets sacred. These tenets slide their way into the core of our culture, and become very hard to excise. They’re everywhere, and they’re taken for granted in many cases. Things like “The CMMi is too heavy, and useless” and “Waterfall is innately bad”. Invididuals may question these tenets, but changing that opinion in the community is a challenge that may go nowhere.
What’s next? How do we prevent ourselves from falling down? How do we prevent the concept of agility from being tied down by the paradigm of Agile? Or, as has been talked about before, how do we avoid the need for a post-agile movement? There’s effort in this direction, but it is also has the potential to become a major holy war.
This post is all over the place, which nicely matches where my brain is going as I think about this, but the core lession I’ve learned about this today is that I have another domain I can use to inspire improvement in the software community. The problems are all the same, and everybody else has solved them for us. Let us lead this community, a community devoted to learning, out to other fields of knowledge and find those people who have solved our problems before. Look in the learning of the building architects, the city planners, the economists, the mechanical and civil engineers… all of these long-established disciplines that have a history of running [mostly] successful projects. We’ve leaned from Manufacturing, but where else can we look?
Sowell, Thomas. (2008). Economic facts and fallacies. Basic Books, Cambridge MA.
Wow, so much I probably should talk about, but I don’t even know where to start. Massive amounts of networking, information, realization, and even contribution going on, and I can’t unravel it at all right now. I think there’s a lot of potential for transforming this into real, meaningful changes in my current environment, but I need to be cautious in how I approach things. I firmly believe in a few core changes that I think will drastically amplify the performance of our extended development group, but I can’t just say “we need to do this”… I need to inspire people to _want_ an understanding of how it will help, and then I can happily and easily teach the basis of pull-based, work-limited techniques and explain what changes I expect to see appearing.
In other news, I had a great lunch with Chris S. today and am very excited to hear about the connections he made at the conference. He has a great opportunity to become a leader in the emerging area of Real Options within the Agile community and could extend both his personal brand and his current company’s brand though developing those opportunities. Chris, go for it!
Finally, my brain’s operating at a process level, and this post is hopefully a means to allow me to dump some of those thoughts and focus back on the code I need to write today. Maybe I shouldn’t have started out touching the part of the system where the changes HAVE to be right, since it’s the core factory of an entire tier.