The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
Prototypes

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Assaph Mehr

Posts: 76
Nickname: assaph
Registered: Apr, 2005

Assaph is a Sr Tech Designer, which just means that he draws diagrams by day and programs by night
Prototypes Posted: Apr 14, 2005 8:16 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Assaph Mehr.
Original Post: Prototypes
Feed Title: Open Mouth, Insert Foot (Echo Internationally)
Feed URL: http://www.bloglines.com/blog/AssaphMehr/rss
Feed Description: General geekness venting, mostly about Ruby and why Software Engineering != Computer Science, dammit!
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Assaph Mehr
Latest Posts From Open Mouth, Insert Foot (Echo Internationally)

Advertisement
This week we review managements understanding of an important software engineering concept -- The Prototype.

There are, generally speaking and with no claims of deeper research than drinking coffee, only two types of software prototypes: the Investigative and the Demo.

The Investigative prototype is there to answers the simple question of 'can we make it work?'. Also known as the Proof-Of-Concept. You have an idea. You're not sure if what you want is even feasable with what you have. So you try to knowck something up to see if you can get there from here.

The Demo prototype is there to answer the age old question of 'will you give me money for this?'. Also known as the Hard-Coded-Slideware. You think you can make a product. You need to show it to potential customers, investors or focus-groups with the ultimate, sometimes implicit, question being 'is this useful enough for you to pay for?'.

(These two should not be confused with the Initial Build, a.k.a. Crappy-Piece-Of-Software-That-Crashes-On-Doubleclick. That's just the first build of the source, after you've set all the processes in place. It's only there for developers to debug and QA to snicker at.)

Now here's the tricky bit: You've done it. It's a success. You want to go ahead and do the Real Thing (tm). So you spruce it up, stuff it in a version control repository and start putting in the missing bits.

Wrong!

What you do is take a good hard look at it and throw it out. Well, OK maybe you keep it around like an old dog around the fire -- but you most definitely do notbase the real thing on it. You take what's in your head -- all the accumulated knowledge about the issues with the implementation -- and use them to build it properly. From scratch. With processes like TDD and architecture design and version control and release scope and schedule all decided up front, based on your increased understanding of the problem domain.

This is what management seems to be incapable of comprehending and the reason for this acrimony. The normal thinking for managers seems to be: "He spent 3 months on this, costing me money. He needs something to show for this, something I can kick. I can't kick the increased understanding of the problem domain in his head (although I'd like to). Therefore I'll click like a leech to the one tangible output he had, and we'll call is version 1.0".

Management, when faced with the need for a prototype, invariably end up saying to the dev team: "do it like a prorotype, but when we're done we'll call it the initial build". They are then immensely surprised, 6 to 12 months down the track, that the shoddy piece of software the dev team is crunching out is, well, shoddy. There were no processed upfront. The base is ill-concieved and not architected, no changes can be made in a reasonable time, any change that do get made cause so much havoc that the dev team is continually whimpering.

From a more formal risk analysis point of view, this is the equivalent of 'none'. You had the idea. You kicked it around in a few meetings. And then you just did it! You did not investigate the costs, issues and risks of the actual work. By turning the output of the investigation -- the prototype -- into the first build, you just effectively skipped the risk analysis. You never looked at the analysis and decided what approach you're taking, you just did it with no real planning.

Not that I have a solution for this, except a LART judiciously applied to management.

Read: Prototypes

Topic: Nanoki Previous Topic   Next Topic Topic: Going for a test drive

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use