Log in

No account? Create an account
03 February 2016 @ 03:11 am
Heisenberg Developers  
This is good explanation of why too detailed software development plans for do not make sense.

The problem with this approach is that it fundamentally misunderstands the nature of software development. That it is a creative and experimental process. Software development is a complex system of multiple poorly understood feedback loops and interactions. It is an organic process of trial and error, false starts, experiments and monumental cock-ups. Numerous studies have shown that effective creative work is best done by motivated autonomous experts. As developers we need to be free to try things out, see how they evolve, back away from bad decisions, maybe try several different things before we find one that works. We don’t have hard numbers for why we want to try this or that, or why we want to stop in the middle of this task and throw away everything we’ve done. We can’t really justify all our decisions, many them are hunches, many of them are wrong.

Discussion on HN: https://news.ycombinator.com/item?id=11024656
ex_juan_gan on February 3rd, 2016 04:16 pm (UTC)
So many people just do copy-paste, afraid of any experimenting at all.
Dennis Gorelikdennisgorelik on February 4th, 2016 04:31 am (UTC)
The Copy-paste syndrome is almost orthogonal issue: if I am afraid to experiment then I would try to reuse existing code.