Почему проще переделывать, чем сразу делать хорошо

Wait 5 sec.

Есть старая байка про двух разработчиков, которые решили сделать похожий продукт. Первый к делу подошел основательно. Сел продумывать архитектуру, сценарии, масштабирование. Хотелось ему, чтобы все было правильно с самого начала, чтобы без костылей и переделок. Второй выбрал другой путь. Собрал минимальную версию, местами кривую, но работающую, и как можно быстрее выкатил ее. Пока первый допиливал систему до идеала, у второго уже появились пользователи. Они писали, где неудобно, что ломается, чего не хватает. Он быстро чинил, добавлял, переделывал, короче, постепенно улучшал продукт. В итоге у него появился живой сервис и рынок, а у первого осталось почти идеальное решение, но без пользователей. Обычно эту историю пересказывают как аргумент против перфекционизма, но она все таки не про то, что делать плохо - хорошо. Второй разработчик ведь не избежал переделок. Он на них, можно сказать, и выехал, просто делал их уже на основе реальности, а не догадок. Собственно, почему так? Почему часто нам проще сначала сделать кое-как, а потом исправлять, хотя кажется, что логичнее было бы сразу сделать нормально?  Читать далее