Comments
Patrick Collands wrote: collands (AT) gmail com I'd be very grateful for an invitation. Thank you.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

SYS-CON.TV
Today's Top SOA Links


Devils, Demos, Details, and Demons
We should be careful for what we wish for

When a product a colleague worked on recently shipped its first generally available release, the event was accompanied by a marketing fanfare of podcasts, press releases, and conference trips to beautiful cities with boxes of presentation materials, branded lapel pins, and flashing fridge magnets. My colleague gave a hugely successful presentation to customers and was rather taken aback afterwards when she was approached by a member of her company's marking team who asked why it looked as though the development team hadn't done that much to the product since the last presentation six months previously. She explained that the earlier presentation was riddled with hard-coded data, mocked-up screens, and, for the most part, was only done so that the developers and architects could show a test audience some ideas and concepts to garner reaction and feedback to help shape the finished product. In the intervening six months between the proof-of-concept demos and the final deliverable, a huge amount of work had taken place. Not just in actually coding the final code drop, but in making it conform to accessibility requirements; internationalization, performance and threading issues; security, tracing and error diagnostics; not to mention building a large suite of unit tests and a deep set of regression functional tests.

The problem with software is that most people's perception of an application is simply the user interface: the buttons, list boxes, and data that sit on the glass. To all but those who are themselves developers, there is little or no appreciation of the huge amount of grunt work required to make things actually work, some of which is often extremely tricky and requires sharp innovative developers, not to mention time and money.

This lack of appreciation for what goes into a finished product is something an old boss of mine used to call the "spreadsheet mentality." At the time we were tending to software contracts to create software that had to crunch large amounts of non-relational insurance data using batch programs. Our nemeses were the jocks who, having just managed to master an Excel pivot table with over 20 rows of data, had no appreciation of the scalability or network client/server issues and would heckle our meetings with cries of "Fools, I can do this all with my spreadsheet and database CD that came free inside my muesli box this morning."

This concept of people who don't appreciate software construction yet are able to participate in the decision-making process manifests itself in many dangerous forms at all levels of an organization - from the bean counter who lays off a development team with years of skill and experience in order to outsource the project to a far-flung colony to save a few dollars, to the manager who thinks that software quality is achieved by suffocating the development team with ridiculous processes and time-wasting status reports that do nothing more than fulfil the input requirement to fuel anachronistic and irrelevant reporting chains or absurd audit requirements.

Two powerful techniques that can be adopted to protect a project's expectations from its users are to use paper prototypes, thus avoiding any confusion whatsoever that anything remotely close to the finished product is being discussed, and to deliver small incremental pieces of functionality in an iterative agile manner to keep the heartbeat of the feedback loop between the user and development team healthy and current so the amount of code per deliverable becomes smaller and more finely finessed. In addition, the practice of chirping "ship it" to a developer who has shown a piece of clearly unfinished code should be banned in case anyone from marketing is in the room taking minutes. As with all things in life, we should be careful for what we wish for.

About Joe Winchester
Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE