The Next Home of Chris Chapman's Free Thoughts on Agile, .NET, SharePoint, what-have-you, whatnot. 
Page 1 of 1 in the teamDevelopment category
# Monday, June 25, 2007
Note:  Just noticed that the blokes over at 37signals (they of BaseCamp fame) wrote a similar article to this one (Nov 1/07) which has some succinct (and similar) conclusions.  Great minds think alike!
 
A good number of folks in software development and consulting fancy themselves as almost entirely unique in the work landscape.  With the notable exception of nursing delusions of grandeur about being "architects", "engineers" and "scientists" and construction workers who work with bits and bytes, they rarely see the real-world parallels that exist between how they and others approach work.
 
For example, what if any possible parallels could exist between a chef and software development? 
 
Enter: Chef Gordon Ramsay's Kitchen Nightmares.
 
For the uninitiated, Ramsay is a well-known celebrity chef in the UK who is as famed for not only his culinary expertise and unrelenting pursuit of high standards (he is only one of three chefs in the UK to have his restaurant awarded 3 Michelin stars) but his colorful dressing-down of any who dare to call themselves chefs that fail to meet his expectations.
 
In his Kitchen Nightmares TV series he troubleshoots UK restaurants that are on the verge of bankruptcy.  And for good reason:  Often, the kitchens are run by near-incompetent staff, the dining rooms uninspiring and the maitre'ds beyond their depths.  In other words, their teams aren't working well - sound familiar?
 
Ramsay's job is to put a boot up their collective arses to bring their standards up and turn their businesses around by making effective changes to how they work.  And it's no mean feat: Often, he finds complete intransigence toward the reforms as the owners and staff figure that they ultimately know what's best, despite the fact that they're running their restaurant into the ground and about to put themselves out of work.  Again, does this sound familiar to anyone else?
 
This carries no truck nor trade with Ramsay who will viciously dress-down this kind of insolence with a lot of colorful language.  It's the best part of the entire show!
 
But let me digress - what are the parallels between fixing a restaurant on the edge of disaster and software development?  There are many:
 
First, restaurants, like software development, is a people-oriented business.  We both have customers that expect good service and a product from us;  we both have to rely on exceptional teamwork to deliver our products to our customers.
 
Second, both restaurants and software development succeed when the axiom "keep it simple, stupid" is followed:  For the restaurants Ramsay helps out, this means stripping down complex menus to a few simple dishes that can be turned around quickly for a good profit.  For software, this means the shedding of needless complexity and process that prevents teams from delivering product profitably.
 
Third, both restaurants and software development teams benefit when the right people are put into the right jobs.  Often, after observing a kitchen team work, Ramsay will re-arrange the staff to get inept folks out of mission-critical roles (ie. Maitre'd, hostess, chef, sous chef) while promoting unlikely candidates who show aptitude.  The same goes for software teams - often, for a variety of reasons, we have the wrong people in critical roles that ends up contributing to poor performance.
 
Fourth, both restaurants and software development teams perform better and please customers more (leading to higher profits) when they do less, but do it exceptionally well.  For Ramsay, this means creating simple dishes with fresh ingredients that can be turned around quickly.  For software teams, this means eschewing BDUF for small "dishes" of functionality that are tight and shared with the customer as soon as they are ready.
 
Fifth, both restaurants and software develpment teams benefit when they are in an environment conducive to their work.  For restaurants, this means a well-organized and clean kitchen;  for software teams, this means an open space that is clean and promotes cross-communication and collaboration and is free of cubicle walls and depressing color schemes.  This metaphor can also be extended to the "front of house" or dining room and the offices.
 
Sixth, and most importantly, restaurants and software development teams both work well when their leadership has a sense of humility and a strong desire to always strive to do better and not rest on any laurels.  For restaurants, this means a staff who are continually looking to improve and hone their craft to make the best product possible from local fresh ingredients;  for software teams, this means viewing their profession as a trade-craft and continually looking to improve it with best practices like TDD, refactoring, continuous integration, automated acceptance testing and load testing.
To me, the passion that Ramsay has for elevating cooking in the UK is similar to my own for promoting better practices with software development teams and their managers here in Canada.  I feel that we both meet the same foot-dragging, sobbing stubborness to stay rooted in old, bad habits and that most importantly, change is never accomplished by asking people nicely.  It sometimes needs a little "tough love" to make the point, because there's more at stake than some hurt feelings.
 
On this point, however, I've noticed that the staff Ramsay deals with often already know they're failing or doing things the wrong way.  They want to do better!  They're good people trapped in bad practices by uninformed or inept owners/managers.  Again, does this sound familiar to folks out there?
 
If you have access to this show in your area (it's on the FoodTV channel here), take in a few and you'll begin to see what I'm talking about.  Watch the shows critically and go beyond Ramsay's penchant for yelling and observe how he changes the practices of the kitchen teams to produce quick results.  I think the same can be done for software teams!
 
Tune in again when I draw similar comparisons between the state of software development consulting/contracting and Holmes on Homes.
Monday, June 25, 2007 8:39:12 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
agile | better practices | team development

About Me
I am a Toronto-based software consultant specializing in SharePoint, .NET technologies and agile/iterative/lean software project management practices. Currently, I am employed by Microsoft Consulting Services (MCS) Canada as an Application Development and Information Worker Consultant, focusing on delivering guidance and subject matter expertise to enterprise customers who have or are in the process of deploying Microsoft technologies.

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Chris R. Chapman
Sign In
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Statistics
Total Posts: 194
This Year: 2
This Month: 0
This Week: 0
Comments: 109
All Content © 2010, Chris R. Chapman
DasBlog theme 'Business' created by Christoph De Baene (delarou)