Linked by Hadrien Grasland on Fri 28th Jan 2011 20:37 UTC
Permalink for comment 460264
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
News
Linked by Thom Holwerda on 05/23/13 23:22 UTC
Linked by Thom Holwerda on 05/23/13 22:04 UTC
Linked by Thom Holwerda on 05/23/13 22:01 UTC
Linked by Thom Holwerda on 05/23/13 17:52 UTC
Linked by Thom Holwerda on 05/22/13 22:23 UTC
Linked by Thom Holwerda on 05/22/13 13:38 UTC
Linked by Thom Holwerda on 05/22/13 13:30 UTC, submitted by JRepin
Linked by Thom Holwerda on 05/21/13 22:06 UTC
Linked by Thom Holwerda on 05/21/13 21:45 UTC
Linked by Thom Holwerda on 05/21/13 15:53 UTC
More News »
Sponsored Links



Member since:
2005-12-31
Depends on the case, but yes, the first prototype *can* be a major investment. Point is, if you invest in anything else, your investment is most likely lost. What the actual requirements of a project are, and what you think they are, usually differ so much that you'd be starting into a totally wrong direction. A prototype then often shows you the right direction.
Remember, a correct and complete requirements specification only happens in fairy tales, and when you ask your users on a purely theoretical basis, i.e. without a prototype, they won't give you realiable information.
No. The prototype isn't for performance analysis. You build it to see if your whole project is heading in the right direction, because if it isn't, any performance optimization is wasted time.
If the direction is right, the prototype next shows you not how to make the design efficient, but whether efficient design is actually needed. See, for example, the above-mentioned Minix mkfs example. In real projects, developers will have it much harder to "guess" how often functionality is used than with mkfs.
"If 'drying cement' keeps you from fixing problems, your project will have much more serious issues than performance."
What is that supposed to mean?
It means that if you detect performance problems late, you'd still fix them. Just as if you detect other fundamental design issues late, you fix them.
It means that if at a later point there are any we-won't-touch-that-part-anymore pieces in the project, and they are an obstacle to core functionality, you're doomed. So you don't build such pieces; you build pieces that can be changed even at a late point in the development cycle.
EDIT: I might add that this is becoming a bit off-topic
Edited 2011-01-31 07:07 UTC