3 ms·
YES!! Even coming from an attitude of being big on abstractions and generalized/scaled solutions, I cannot overstate the importance of writing a throw-away ver
by toss1 4y ago
YES!!
Even coming from an attitude of being big on abstractions and generalized/scaled solutions, I cannot overstate the importance of writing a throw-away version at the outset. Hit the highlights, write it fast & dirty, use it, extend it a bit as you start to understand the system — then throw it away. Use that knowledge to design and build your real system, from scratch, but informed by your earned knowledge.
>>agile makes you iterate through pseudo productivity before you actually understood the problem, accumulating cruft that you need to maintain and extend as you go on.
And to this in the GP post, I think he identified a fundamental problem with Agile. Its entire bias is to write code fast, when the bias should be to avoid writing code — code is slow and habitat for bugs. Obviously everything requires code, but it should be minimized, not maximized. Of course, writing code quickly and seeing it run is satisfying, but developers' dopamine hits shouldn't be the primary driver of design & mgt - end performance should be, and that takes careful thought of what can be eliminated, and basing that thought on knowledge of a throw-away-version-1 is very useful, and pays benefits to both the dev team and to users for years.
- beachy 4y ago> The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers. Frederick P. Brooks Jr., The Mythical Man-Month: Essays on Software Engineering
- cassianoleal 4y agoCode is Liability, the Less the Better https://www.infoq.com/news/2011/05/less-code-is-better/ https://www.infoq.com/news/2011/05/less-code-is-better/
- jimjimjim 4y agoreplacing the prototype is important, but you need enough power in your org to be able to throw it away. 'nothing is as permanent as a temporary solution'
- ok123456 4y agoUntil your boss doesn't understand this concept and thinks your prototype is a finished system, even after explaining the fact it's just a demo that you made to help gather requirements time-and-time-again.
- hef19898 4y agoAlso goes the other way, developers believing something is good while totally ignoring user feedback stating otherwise. Admittesly so, you example so much more frequent.