Thursday, July 24, 2008

Letting the prototype complete its job

I've finished looking through the prototype and decided to let a good prototype complete its design task - to model the application design as it stood - and retire.

My prototype application was a good fit for the application I was designing but the design has moved on and I don't want to fall into the trap of trying to push it forward into a live environment.  It has completed its job and now I need to focus on the application I will eventually ship.

One part of the prototype will live on though, the common class library was designed to be useful further down the line and isn't prototype, or application, specific.  So all the string handling, logging, exception handler helpers and numerous other useful bits of processing will go forward.

The POP3 Client and Server will be shelved in favour of buying in an e-mail handling library.  The SQLite based data store will be rewritten to improve performance and usability. 

The user interface morphed from C/Win32, C++/Win32, C++/WTL and finally C++/MFC in various searches for the best fit.  It will be stored in the tips & tricks directory I keep since there are some useful snippets in there.

On a different topic, still programming related, I'm having a real hoot reading Raymond Chen's book The Old New Thing.  Some of the things he recalls really strike a chord and I never thought reading about Windows API's would make me laugh.


Starr Horne said...

Sound's like you're following the good advice to build one to throw away.

...with me it tends to be more like "build five or six to throw away" :)

Anonymous said...

I've seen enough clients make the mistake of developing the prototype further, implementing it and then spend the next X years supporting a monster. :)

Better to say "Job Done" and move on.

I did iterative-prototyping...develop one then change it :) Far too mean/lazy to develop multiple versions!