Wednesday, February 22, 2006
Alan Cooper on Why Software Development isn’t Like Construction
This is my last word on why I believe that software isn’t like construction.
Back in 2000, I interviewed Alan Cooper for my uidesign.net webzine (blog format). Alan didn’t believe that 20th Century thinking on physical technology applied any more. This is what he had to say…
<!—StartFragment—> I believe that in the Industrial Age we had technology. Technology had firm limits dictated by physics. Steel is a wonderful building material. It’s so wonderful that I can build skyscrapers and bridges with it. But what you can’t do is say, “Steel is so Wonderful that I’m going to build a bridge across Lake Michigan out of 500lbs of steel”.
In other words, if you ask a software guy to design a means of transport from San Francisco to Hawaii, he won’t come up with a boat or a plane, he will put a bridge in a While loop. [As Haloscan just refuses to offer the comments and trackback link for this article, please use the comments on the preceding article to leave comments.] Technorati tag: Agile, David+Anderson, Glen+Alleman, Alan+Cooper
Posted by David on 02/22 at 01:44 PM
Permalink
Cay We Build a Software Factory?
OK. So tonight it is my turn to be contrarian - Glen doesn’t get to hold that title exclusively 
Keith Ray quotes William Pietri on why the factory concept doesn’t apply to software. I beg to differ on this but with a deeper explanation.
First off, very few factories are actually production lines. Most factories are actually work or job shops that pass materials from one station to another for value-adding work. The routing of the material depends on the customer order for the end product. The timing and prioritization depends on what was ordered, who ordered it and often how profitable it is. A whole specialist function is dedicated to routing and scheduling work in factories. In software we clearly don’t have this problem nearly as badly. Routing is a fairly simple matter.
However, the key to whether or not you have a “factory” or not, is not whether there is an assembly line with a quality control function at the end, but whether you have division of labor and specialist functions performing specialist tasks. The more specialization, the more division of labor, the longer the value chain and the more complex the problem of managing - including scheduling, routing, inventory control and so forth. Clearly the agile movement has dialed us back from the increasing specialization in the 1990’s (this was driven by the increasing complexity or languages, development environments, architectures, persistent storage, build tools, user expectations for user experience and so forth) towards a generalist workforce with fewer specializations and fewer job titles. There is definitely a craftsmanship vibe in the agile community and the more extreme agile methods are really pure craft. Craft pre-dates mass production and doesn’t need factories because there is no division of labor.
However, if I have a process which though still very agile - low levels of waste in the process, high trust environment, highly iterative, tight feedback loops, regular delivery of value to the customer, high levels of quality assurance and pride of workmanship - but, I still have specializations and I still have division of labor in the production of the finished product, then I still have a factory, though a vastly simpler one than the typical manufacturing organization. Technorati tag: Agile, David+Anderson, Glen+Alleman, Keith+Ray, Extreme+Programming, Software+Factory
Posted by David on 02/22 at 12:59 PM
Agile •
(0)
Trackbacks •
Permalink
Tuesday, February 21, 2006
Is TOC now Mainstream Software Engineering Process material?
Pascal wonders if you get what you measure and he’s been digging in to Throughput Accounting for inspiration. It’s unusual for me to make a rambling blog entry that collects a few thoughts and threads together but I have a backlog of stuff I just want to get out.
I’ve been thinking back. About 3 years ago this month I was finishing off the second draft of my manuscript (actually I posted the final chapters on March 3rd) - the version I made available through my Yahoo! group. Before then no one had discussed the Theory of Constraints in software development other than the Critical Chain method for shortening traditional project schedules. Today, discussion of TOC, the Five Focusing Steps, the drum-buffer-rope approach, and Throughput Accounting are becoming commonplace. Clarke Ching started a dedicated blog to TOC in software and walked us through the use of the Thinking Processes. Kent Beck even dedicated a chapter of his 2nd Edition of Extreme Programming Explained to the topic of Theory of Constraints. I couldn’t be more pleased to see this trend. Are others going to continue it? If you are working on a TOC application in software or know of one, please leave a comment. Technorati tag: Theory+Constraints, David+Anderson, Clarke+Ching, Kent+Beck, Throughput+Accounting
Posted by David on 02/21 at 03:26 PM
(0)
Trackbacks •
Permalink
Get the Zen of Agile Management in Florida this May
I’m really excited to have the chance to give a one day workshop on Agile Management at the VSLive event May 14 - 18. I’ve never given a workshop on agile management and it gives me a chance to get back to the purity of the message and teach my techniques from the ground up while pointing out features in Visual Studio Team System and MSF that are based on my writings and teachings. I hope to see you there. Technorati tag: Agile, David+Anderson, MSF, VSLive
Posted by David on 02/21 at 01:45 PM
(0)
Trackbacks •
Permalink
VS Live Workshop
I’m giving a full day workshop on Agile Management at the VS Live event in Orlando May 14 - 18.
What is the essence of an agile management? Light touch, empowerment, delegation, trust, and focusing on the correct leverage point to drive maximum advantage. Learn the Zen of agile management techniques embedded in to MSF v4.0 and the support offered through the Team Foundation Server work item tracking and reporting systems. This full-day workshop dives into the heart of how to manage with queues using cumulative flow diagrams and how to apply management science ideas to application development management.Technorati tag: Agile, David+Anderson, MSF, VSLive
Posted by David on 02/21 at 01:40 PM
(0)
Trackbacks •
Permalink