Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best way to write a Proof of Concept (PoC) app? [closed]

I am currently working on a project with which I need to program up a bit of a proof of concept app. I have written PoC apps before but they have only been really small and haven't really had lots of layers where as the app I'm writing now has a:

  • Form layer - talks to data layer.
  • Data layer - talks to Database and Interop layer.
  • Interop Layer - talks to a COM object.
  • The COM object

What would be the best way to write a program to show that I can get from A to B and the process that is needed, without needing to invest a lot of time in writing the PoC.

I already have the idea in my head on how it should all go together but I'm having a bit of trouble showing my team mates what I mean.

Can anyone recommend any tips/tricks when coding up PoCs? Or would there be a better way to explain what I mean rather then having to write code.

like image 717
Nathan W Avatar asked Feb 02 '09 05:02

Nathan W


1 Answers

I agree with other responses about getting a prototype up. One way to make sure that your prototype remains as such is to use a language or toolchain that would definitely not be used in the final product, thus forcing it to be rewritten as production-quality. Some ideas I've used:

  • Write a pre-scripted network client using shell scripts (netcat and a lot of bash)
  • Write a server in Python, Ruby, or another RAD language you're familiar with
  • Use a technology that is simpler than your production technology (communicate via static files instead of TCP, or use a very simple RPC mechanism instead of a middleware product)
  • Use software with incompatible licensing, so the product cannot be released (GPL is good for this, for anything that actually gets distributed).
  • Write a web form as a static HTML page (no styling or anything, ugly as sin)
  • If possible replace any remote interactions (database, network) with local object interactions, with handwaving to say "really these two steps would occur separately"
like image 110
Tom Avatar answered Sep 29 '22 00:09

Tom