The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Prototyping is ( should be ) learning

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
Udi Dahan

Posts: 882
Nickname: udidahan
Registered: Nov, 2003

Udi Dahan is The Software Simplist
Prototyping is ( should be ) learning Posted: Jan 23, 2004 4:24 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Udi Dahan.
Original Post: Prototyping is ( should be ) learning
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple. This blog is about how I do it.
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Udi Dahan
Latest Posts From Udi Dahan - The Software Simplist

Advertisement

I'm going to try something new for a change. Up until now I've always put special effort in my posts to make sure that they were worth reading. As such, the time it took to actually get a post out was considerable. So, I'm going to try to speed-post ( speed writing as real authors call it ). Should the quality suffer too much, let me know and I'll go back to the way things were before.

Following up my last post on prototyping, I have recently finished a project for a client - a prototype. No, not a paper prototype. A .Net Winforms prototype, hooked up to a MS SQL Server 2000 database, with stored procs. It was actually more of a full-blown application - but it was still a prototype for a huge military system.

The client is a BDUF software shop - well, actually they're more system integration than just software. But, despite that, the prototype was not developed by their strict methods and just sort of happened. Think "quick & dirty" but dirty is out ( because that doesn't sound good ) and quick didn't really happen. Hmm...

Anyway, my prior post on prototypes came as a result of a discussion on a different blog ( fabrice's I think ). There, comments discussed the value in putting more effort in a prototype in the hope that some of the prototype could be then reused in the actual system. I have issues with this since it takes you out of the proper mindframe required for prototyping. Bottom line: you should not reuse code from prototypes. The most important thing to get from a prototype is to learn. The lessons learned are the value of a prototype.

Anyway, after talking to several people on the team at the client I got the distinct impression that the lessons learned would be only those that were planned. In other words, other than the UI, no element of the prototype was to be studied. The famous statement ( the fact that it is famous makes it all the more prone to misinterpretation ) that you wouldn't drive a clay model of a car ( or live in a cardboard house, or whatever analogy of the moment presents itself ) was used as justification.

The most important lesson I learned from the prototype was the difficulty of getting the layered architecture to sit with the OO design used at cross-functional boundaries ( UI elements - Domain elements for instance ). Later, I redid the design using a SOA and you'd be surprised at how well everything held together.

Since I'm running out of time I'll wrap it up. The moral of the story, don't put on the blinders when it comes time to learn. Don't just learn what you plan to. Be ready to learn totally new things that you didn't expect. Make time for this kind of learning. It is the most valuable there is.

Read: Prototyping is ( should be ) learning

Topic: Another web project Previous Topic   Next Topic Topic: [dScribe] Project status

Sponsored Links



Google
  Web Artima.com   

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