Gaperton (gaperton) wrote,
Gaperton
gaperton

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

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

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

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

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

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

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

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

Ну, короче, как-то так.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 22 comments