views:

90

answers:

5

When do we need to prove (with prototyping or any other kind of proof) that a design solution that we came up with is good before implementation?

Does it depend on how much the actual implementation would take in comparison to the proof of concept? Does it depend on whether there's any uncertainty about the effectiveness of the solution?

Example:

A process that currently runs in one server can possibly be optimized with parallelization across multiple servers. It is not clear whether the performance gain would be significant - not everything can be done in parallel, some stages of the process must still be done serially. If the overall performance gain is not significant, it would not worth implementing the change.

+2  A: 

With anything related to performance and optimization, there is only one true proof of concept - run it and measure it.

Seriously, I do not believe you can proove that some design is good. Only the practice will show whether it's good or not. If not then you're going to rework the design to take into considerations the observations you made, scenarios you didn't think of before or new customer feature requests.

Developer Art
+1  A: 

When do we need to prove (with prototyping or any other kind of proof) that a design solution that we came up with is good before implementation?

Actually, it depends on the stackholder. If your stack holder is already bought in by your idea, then no proof of concept is needed. Or else, you will definitely need it.

A skeptical stackholder ( or the boss) will always have doubts over your proposed solution, it's up to you to convince them, and that's where proof of concept comes in, given that it's not possible to implement the solution before the stack holder are bought

Ngu Soon Hui
I think you mean stakeholder :-)
Razzie
Hi Ngu Soon Hui, should be stakeholder. So don't mean to be picky. I make the same kind of mistake all the time. Maybe this was another case of stack over flow.
10ToedSloth
+1  A: 

A proof of concept is a cheap(er) method to confirm that a solution you (or those with more power) are not reasonably convinced will work or be of sufficient benefit.

If you (or the people of more power) already know that the design is sound and will work, there is no point in a proof of concept.

If you are not certain it will work, then a proof of concept provides a cheap(er) method to sound out the design with out the full commitment and associated potential for wasted resources/time.

If those with more power in the yay/nay say are not convinced it will work, then a proof of concept serves as a method to prove (funnily enough) the concept is sound and/or provided a mechanism for the others to have a more tangible idea on the design.

Dan McGrath
+3  A: 

POC is good to test whether a type of problem can be solved or not, I think its not the perfect thing to analyze whether the performance expectation will meet or not. As you already know parallelism can be done, but what will be its impact has more to do with the design changes required, POC can only tell whether it can be done or not.

Priyank Bolia
+1  A: 

If there's any uncertainty about the effectiveness of the solution, I think that a proof-of-concept is a must. A mock implementation might lead to new aspects of the problem revealing, and ultimately will lead to a better design.

luvieere