Как "этот мир катится в ад".

May 29, 2010 01:58

Кросс-пост с РСДН.

Здравствуйте, Vzhyk, Вы писали:

V>Вот что интересно, сколько времени в таком состоянии может находиться
V>обычная русская програмерская контора?
V>Французская прожила 2 года (до этого 10 лет жила, а потом "детские
V>болезни", прямо по Ленину), после объявила себя банкротом.

При условии наличия продукта, который уже продается - может находиться довольно долго. Как это ни странно. Меня это одно время сильно занимало, и я пытался изучить вопрос.

Все, что в таком случае происходит - "кодеры" своими правками постоянно увеличивают "хрупкость кода" - то есть, стоимость последующих правок. Действительно критично это только для тех мест кода, который одновременно:
1) Критичен для работы всей системы, или важнейших функций.
2) Будет часто правиться в будущем.

Такого кода на самом деле не так много, если вдумчиво посмотреть. И катастрофы в результате не происходит - происходит примерно следующее:
1) Эффективность работы группы разработки падает - из года в год фичи добавляются все медленнее и медленнее. Часть фич вообще откладывается из-за большой трудоемкости, часть - реализуется кое-как (то есть, наиболее дешевым в разработке образом).
2) Растет количество дефектов, вносимых разработчиками. При добавлении фич или исправлении дефектов, разработчики вносят новые дефекты в других функциях. Так происходит из-за сильной связности кода. Причем, эти дефекты со временем становятся довольно сложны в воспроизведении, не всегда находят на интеграции. Эти дефекты обнаруживаются пользователями, проходят через поддержку, попадают не тому человеку, который их внес, и далеко не всегда удается их связать с изначальной правкой. Их лечат симптоматически, и цикл повторяется по новой... Все это еще больше увеличивает цену внесения изменений, и понижает скорость разработки.

Данные симптомы малозаметны на глаз. Потому, что ситуация меняется к худшему достаточно медленно. Скорость изменения зависит от размера базы кода (больше - медленее), и количества разработчиков (меньше - медленнее). Когда наступает момент, что все решают "все переписать" (обычно это звучит - "надо разработать новую версию"), часто бывает на самом деле уже поздно. В результате данного "переписывания" шансы накрыться медным тазом повышаются, и это может приблизить конец.

Ну, короче, как-то так.
Previous post Next post
Up