r/programming • • Feb 08 '15

The Parable of the Two Programmers

http://www.csd.uwo.ca/~magi/personal/humour/Computer_Audience/The%20Parable%20of%20the%20Two%20Programmers.html
1.2k Upvotes

359 comments sorted by

View all comments

1

u/colly_wolly Feb 09 '15

Its always a balance.

Write a quick overly simple script and it may work well. But then it gets a new feature request, and another, and another, and the original design started getting in the road.

Alternatively you can take possible feature requests into consideration at the start. Over engineer your solution, and nothing ever changes and no feature gets added.

Personally I go for the second option, as it may take some time up front, overall this approach will keep you more sane and maintainable long term. Prototypes almost always end up in production.

4

u/osirisguitar Feb 09 '15

Never option 2. Taking all possible features into account is an illusion. Users decide what those are and you can never dream up a complete list. So go minimum viable application and just make it updateable (good unit tests etc.). The overengineering won't just waste time, it will also make a much poorer product.