Знаете, за долгое время работы программистом я усвоил одну вещь. Расскажу на примере.
У нас есть замечательный завод, который выпускает прекрасные автомобили «Запорожец». К нам приходит важный заказчик и говорит: «Хочу авто, чтобы через неделю и чтобы ездило». И вот гендиректор завода вместо того, чтобы собрать «Запорожец» из лучших деталей и отполировать его до блеска, заставляет рабочих собирать «Мерседес», учитывая, что деталей нет, запчастей нет, а есть только голый энтузиазм. В итоге через месяц (путём затягивания сроков и обещаний «завтра точно будет готово») заказчик вместо прекрасного «Запорожца» видит «Мерседес» с салоном из дерматина, вентилятором вместо кондея, аудиосистемой «Урал» вместо магнитолы, без колёс, дверей и двигателя. Подивившись на такое чудо, важный заказчик уходит к конкурентам и через неделю получает от них «Жигули», которые через несколько месяцев постепенно превращаются в «Астон Мартин».
Суть аллегории в том, что сначала нужно делать базовый продукт с нужной функциональностью, а потом допиливать финтифлюшки и рюшечки. Многие же сначала долго и упорно прикручивают свистоперделки, а потом уже думают, как реализовать нужные функции, когда дедлайн на носу.