4 ms·
If you're building something you plan on throwing away, or won't be around to maintain, it makes perfect sense to throw things together quickly. If you're build
by drtz 9y ago
If you're building something you plan on throwing away, or won't be around to maintain, it makes perfect sense to throw things together quickly. If you're building something that will be a foundation for many future projects, however, it's worthwhile to put more thought, and thus more time, into building it.
> It's not your time that's being wasted
More frequently than I would like, I find myself putting a band-aid fix on something that I should have spent more time thinking through up-front. In this case it's future-me whose time I wasted by not taking my time initially.
- taurath 9y agoIn a startup scenario, business changes can and will come in that destroy previous assumptions. Being stuck with a 1/4 finished cathedral when you now need to build a truck is both wasteful and inneficient
- fsloth 9y agoBeing sloppy and being fast are not the same thing. One can be fast by limiting complexity, yet provide a disciplined implementation. In an uncertain scenario, such as you described, I would say it never pays to be sloppy, but it often pays not to do anything more than is absolutely necessary for the time being.
- he0001 9y agoAh the million dollar statement. Ofc you can make something completely right, that ”race car” project but then someone says “but I want a bus” and you transform it as fast as possible to a bus and somewhere half way through someone comes along and say “why isn’t it flying”.
- fsloth 9y agoI've never worked anywhere in 18 years where the goals of a project weren't at least limited to the correct 'vehicle class'. Implementation details sure can change but that's why "fast and disciplined" is good - you learn to implement the software in a manner where you understand the changes needed based on concrete principles rather than a mad dash of copy-and-pasting. By 'disciplined' I don't mean that the program fullfills the dogmatic mandates of some system development philosophy - just that the software is written on solid principles that at least the author understands.
- he0001 9y agoJust being curios, have you been working on the same platforms/systems during all these 18 years?
- dwaltrip 9y agoBoth what you are pointing out and what the other commenter are pointing out are critical, contrasting failure modes that must be continually avoided. You both are correct. The balance between the two will depend enormously on the circumstances, and is difficult to manage.