Craftsmanship has always been widely admired and appreciated. Anyone can pick up a paintbrush, but few compare to Monet; a wooden chair from Walmart will provide a place to sit, but the beauty of handcrafted custom furniture is undeniable. There is a movement in software to try and capture some of this magic, but with the large amount of truly terrible programs and outright project failures this crusade clearly hasn't yet taken hold. Given that, is there anything more satisfying that completing a project? Whether it is woodworking or software, that feeling of a job well done is beyond compare.
One of my teams recently got to experience this euphoria: Borland TeamDefine 2009 was just released to the market for the first time. TeamDefine is simulation software that helps people flesh out requirements early in the cycle, eliminating time-wasting rework. Agile is all about short feedback loops, so a with tool like this which can deliver both rapid prototypes and gather comments from a wide variety of sources, those feedback loops can get even shorter. Most agile stories are a collection of words with an occasional screen shot; if a picture is worth a thousand words, a simulation is worth a thousand pictures! The earlier a team knows it is building what the customer really wants, the more likely they are to build well-crafted software.
Our team is now using our own product to explore stories, which is very cool. I've been on a lot of different software troupes, but the number that actually got to use what they built as a part of their job is very small. We have had a lot of fun building TeamDefine, and it has developed into a product of which we are unabashedly proud (and are having a lot of fun using). Check it out for yourself by watching the (funny) video below and downloading a free trial. Play with it and let me know what you think!
Post title is a lyric from Walnut Street by Walt Wilkins.
Klobe-
Have you ever heard of Phil Armour? I listened to him on a podcast from last year via Software Process and Measurement Cast (http://www.spamcast.libsyn.com/index.php?post_year=2008&post_month=06) and his views on software as an activity that encoded learning really resonated with me. Basically, like DNA, memory, written words, and hardware, writing software was a way to encode learning and allow the spreading of knowledge quicker (trust me this ties in to your post!). Encode how to aim a bazooka into a manual and more people can learn to do it. Encode it in the hardware (a physical siting mechanism) and they can do it even better. Encode how to do taxes in software and millions of people can do it.
At the end, he talks about how the industrial revolution didn't really take off until the tools were applied to itself- think using a steam engine to power a manufacturing line. And (here's the connection), that the real explosion from software would occur when we start applying it to the creation of more software. Sure, I first think of Model Driven Development with a certain tool (http://www.borland.com/us/product/together/index.html), but that's me :). The way your team is using the TeamDefine software to build more TeamDefine is another great example.
Posted by: Michael Maham | May 26, 2009 at 10:18 PM
Interesting - I'll have to add that podcast to my list. Thanks!
Posted by: Klobetime | May 27, 2009 at 05:02 AM
Agreed.... I've never heard of Phil Armour either but I'm definitely going to check him out.
Posted by: John | December 15, 2009 at 08:42 PM
Borland Team Define looks like a fantastic piece of software. If you go on their site, you'll see all of their features including business process storyboarding and tracibility support. It is a product that many companies should take a closer look at. Be sure to let us know how you like it.
Posted by: Bamboo Dave from Oakwood Veneer | July 26, 2010 at 06:57 PM