3 ms·
>assuming you intend to throw it all away and rewrite once your proof-of-concept does its job Once a throwaway works, it becomes production.
by ChrisLomont 8y ago
>assuming you intend to throw it all away and rewrite once your proof-of-concept does its job
Once a throwaway works, it becomes production.
- richardknop 8y agoThis. Once the spaghetti code glued together to somehow work is deployed and people start using it, it's production system and next sprint will be full of new feature stories, nobody will green light a complete rewrite or redesign.
- electrograv 8y agoAnd that’s how you get a culture where severe private data breaches and crashy code are the status quo :/ We can do better. Why don’t we? I guess the economical argument explains most of it. I think if more governments would start fining SEVERELY for data breaches (with no excuses tolerated), we’d see a lot more people suddenly start caring about code quality :)
- mdpopescu 8y agoSure. And if governments started shooting people for drunk driving, we'd have less drunk driving. Some of us don't like the negatives even if we would enjoy the positives.
- coldtea 8y ago>We can do better. Why don’t we? I guess the economical argument explains most of it. I think if more governments would start fining SEVERELY for data breaches (with no excuses tolerated), we’d see a lot more people suddenly start caring about code quality :) Governments care about the "economical argument" even more so. They don't want to scare away tech companies. Besides, today's governments don't protect privacy, rather the opposite.
- spc476 8y agoWe got a green light for a complete rewrite, but only because of licensing issues with the original code. I'm just hoping we don't fall for the second-system syndrome.
- richardknop 8y agoThere are exceptions of course. I have also been involved in some complete rewrites and green field projects to replace existing solutions but it's very rare. Happens much more often in government sphere compared to private sector.
- electrograv 8y agoYep, that was pretty much my point :). I think it’s a dangerous precedent to follow (bad practice), but I’ve certainly been guilty of it on occasion.
- kelnos 8y agoAnd this is part of why I never ever ever "write one to throw away". It's very rare that it actually gets thrown away and redone "properly". Also I just don't want to waste my time writing something that's for sure going to be discarded. There's a middle ground between "write something held together with duct tape" and "write the most perfect-est software anyone has ever written". My goal is always that the first thing I write should be structured well enough that it can evolve and improve over time as issues are found and fixed. Sometimes that middle ground is hard to find and I screw up, of course, but I just think writing something to throw away is a waste of time and ignores the realities of how software development actually happens in the real world.
- sitkack 8y agoWhich is the mistake, the throwaway should test one sub system or the boundary between two sub systems and nothing more. To get tautological again, once you have a working system you have a system.