14 August 2006

David Anderson: Software Development and the Theory of Constraints

I just watched a video on Channel 9 where Robert Scoble interviews David Anderson about the work he's doing at Microsoft. I thought it was super interesting and thought you might enjoy it as well. The movie can be downloaded here. The following are some of my favorite quotes from the video:

My work focuses on applying the teachings of two management science gurus, one is Eliyahu Goldratt and other one is W. Edwards Deming. Goldratt has something he calls the Theory of Constraints which basically says if you can identify the bottle neck in your process your should focus all your management attention, all your investment dollars in alleviating that bottle neck in what ever fashion is appropriate. And he has some guidance on how to do that. Initially that started in manufacturing, and then he had a solution for project management, there was one for distribution channels and so on. I took all this theory and figured out how to apply it to software engineering. Some people said, "Well, that can't possibly work!" and, um, it does!
I think if you can reduce the team size down to something small that makes a big difference. If you can put four guys in one room and they can talk to each other all the time in really high fidelity that makes a big difference. But there's a certain scale of things where that doesn't work.
Speaking of domain specific languages as applied to the quality process:
It's a really cool use of domain specific languages in the Team Architect product and it's a fantastic way to actually have quality insurance in your quality insurance group!
Productivity goes up when you focus people on their production rate and don't force them on this conformance to plan concept. And If that's one thing you could change to make a big difference is stop estimating and start measuring velocity.
If I walk through the building at 7:30 at night and the half a dozen people there all have the debugger open and they've been debugging for the last 8 hours, that's a fairly good indication to me that there's a problem.
Good management, good organizational engineering makes for happy well balanced people that have a life and that's what I think we're all looking for optimally.
He has a blog at Agile Management Blog and his book is named Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results. I just added it to my list of books to read. P.S. If you want to view this on the Mac, download the free Windows Media QuickTime plugin Flip4Mac.

1 comment:

Anonymous said...

hey David, if you haven't read The Goal by Eliyahu Goldratt, you need to go grab a copy. One of the best business books out there. In fact, I created a Squidoo lens on the topic at http://www.squidoo.com/the_goal/

I am also a big fan of Dr. Deming, although his books are about as dry as they come. Even had a paper published by the Deming Insitute a couple years back. Most people don't recognize the name, but Dr. Deming is the man who almost single-handedly brought the concept of Total Quality Management and Kaizen to Japan, helping set the country on the path to prosperity after WW2. An amazing man. Another interesting point -- Dr. Deming was in many ways against formal review processes like what we have in place at Microsoft. If you had a smart employee who was not succeeding, it was about changing the process - not penalizing the person. Fascinating guy.