У строительства в этом плане есть преимущество: оно ведётся тысячелетиями, и практически всё заранее известно, как делать - что сильно облегчает пректирование (вплоть до использования типовых готовых проектов).
Их слишком много и они плодятся слишком быстро. В приложении к дому - берётся справочник стандартных элементов, и считается.
Безусловно, проектировать надо. Но всё не спроектируешь. Что касается дома - можно сделать проект и обсчитать его - это понятно и дёшево. А для программы "обсчёт" проекта по трудоёмкости может оказаться сопоставим с кодированием.
В общем, разница большая. Но не качественная, а количественная. И, надеюсь, со временем толково проектировать (а потом не вылезать за рамки проекта) будет всё проще.
> А для программы "обсчёт" проекта по трудоёмкости > может оказаться сопоставим с кодированием. Как показывает практика, предварительный обсчет проекта до вменяемой детализации + кодирование в большинстве случаев оказывается заметно быстрее и качественнее кодирования без предварительного обсчета.
естеренко сочинил "Если бы программисты строили дома" в 2001 году, тогда XP-методики у нас только появлялись. Но методики распиздяйства ничуть не изменились :)
Естественно у тебя все четко, т.к. ты сам инвестор. А вот если бы ты работал на другого человека, то у тебя не было бы уверенности в том,ч то у дома не нужно будет пристроить гараж или поменять местами комнаты или пристроить подземный бункер. Agile как раз и хорошо тем, что устойчив к изменениям когда сказать заранее что взбредет в голову инвестору никто не может.
Я, безусловно, не уверен, что спроектированный план будет целиком выполнен. Более того, я на 100% уверен, что в план в ходе строительства будут внесены какие-то изменения - что-то покажется более удобным, где-то надо будет что-то проложить дополнительно, а скважину через 5 лет надо будет бурить заново.
Но вот про устойчивость к изменениям - кстати, пример достаточно показательный. Устойчивость дома к изменениям - это примерно как "дачный ответ" на НТВ переделывает/декорирует помещения. Ну или пристраивает гараж рядом. Но все эти "итерации" не меняют главного - не меняют каркас дома и его несущие характеристики.
И еще - план у меня тоже итеративный. Вторая итерация - сауна и купель в цокольном этаже. Третья итерация - зимний сад. Четвертая - камин. Только основа для всех этих итераций заложена уже сейчас. В дополнительные несущие конструкции, в воздуховоды, в дополнительные мощности по отоплению. И так далее. И если бы я об этом не задумывался на этапе планирования, поставить камин в гостиной было бы невозможно.
Дима, ключевой момент здесь то, что ты сам хозяин этого проекта. Ты работаешь на себя и уверен в разумности заказчика. При разработке ПО, такого обычно нету.
> Ты работаешь на себя и уверен в разумности заказчика. Поскольку это первый мой коттедж, в разумности заказчика (то бишь себя) я совсем не уверен :(. И именно поэтому не скуплюсь на препродакшен.
Еще как применяется. Нужно только программу сравнивать не с готовым домом, а с чертежом дома. У меня есть знакомые архитекторы. Там постоянно - то стену подвинуть, то конструкцию всю пересчитывать и переделывать, т.к. кто-то там бассейн на крыше захотел. И так далее.
Вот сейчас тебе, как заказчику, дадут коробку, а ты скажешь - это подвинуть, тут дырку сделать. И пойдет вторая итерация.
Не-а. Интересно как раз сравнивать чертеж с этапом проектирования, а этап строительства - с этапом реализации программы. Подвинуть стену в проекте несложно - бумага все стерпит. А вот двигать возведенную стену - это уже более интересный процесс :)
Подвинуть стену в проекте не так уж и просто. Это может потребовать пересчета всей конструкции включая фундамент, переделку целого вороха документации, и пересогласование проекта во всяких бюрократических организациях.
Так что там и на этапе проектирования весело.
Собственно в программировании тоже есть аналог капитальных стен - API операционки, например, не очень-то и подвигаешь. Так, пристроечки убогонькие только понастроить можно.
Comments 30
Reply
А что, в программировании что-то не так, как в строительстве? (вплоть до использования типовых готовых библиотек) *хлопает глазами*
Reply
Безусловно, проектировать надо. Но всё не спроектируешь. Что касается дома - можно сделать проект и обсчитать его - это понятно и дёшево. А для программы "обсчёт" проекта по трудоёмкости может оказаться сопоставим с кодированием.
В общем, разница большая. Но не качественная, а количественная.
И, надеюсь, со временем толково проектировать (а потом не вылезать за рамки проекта) будет всё проще.
Reply
> может оказаться сопоставим с кодированием.
Как показывает практика, предварительный обсчет проекта до вменяемой детализации + кодирование в большинстве случаев оказывается заметно быстрее и качественнее кодирования без предварительного обсчета.
Reply
Reply
Reply
Reply
Reply
А вот если бы ты работал на другого человека, то у тебя не было бы уверенности в том,ч то у дома не нужно будет пристроить гараж или поменять местами комнаты или пристроить подземный бункер.
Agile как раз и хорошо тем, что устойчив к изменениям когда сказать заранее что взбредет в голову инвестору никто не может.
Reply
Но вот про устойчивость к изменениям - кстати, пример достаточно показательный. Устойчивость дома к изменениям - это примерно как "дачный ответ" на НТВ переделывает/декорирует помещения. Ну или пристраивает гараж рядом. Но все эти "итерации" не меняют главного - не меняют каркас дома и его несущие характеристики.
И еще - план у меня тоже итеративный. Вторая итерация - сауна и купель в цокольном этаже. Третья итерация - зимний сад. Четвертая - камин. Только основа для всех этих итераций заложена уже сейчас. В дополнительные несущие конструкции, в воздуховоды, в дополнительные мощности по отоплению. И так далее. И если бы я об этом не задумывался на этапе планирования, поставить камин в гостиной было бы невозможно.
Reply
Ты работаешь на себя и уверен в разумности заказчика.
При разработке ПО, такого обычно нету.
Reply
Поскольку это первый мой коттедж, в разумности заказчика (то бишь себя) я совсем не уверен :(. И именно поэтому не скуплюсь на препродакшен.
Reply
Вот сейчас тебе, как заказчику, дадут коробку, а ты скажешь - это подвинуть, тут дырку сделать. И пойдет вторая итерация.
Reply
Reply
Reply
Так что там и на этапе проектирования весело.
Собственно в программировании тоже есть аналог капитальных стен - API операционки, например, не очень-то и подвигаешь. Так, пристроечки убогонькие только понастроить можно.
Reply
Leave a comment