Автор этого материала делится способом оценки времени, которое будет затрачено на переписывание уже внедренного проекта.
![](https://habrastorage.org/webt/wq/lt/x-/wqltx-ezpvel3jzuxw_-h7porga.jpeg)
По мере разрастания кода работать с ним становится все труднее. Годы разработки и отлавливания багов приводят к желанию перечеркнуть все и начать с чистого листа. Действительно, очень заманчива мысль о том, чтобы оставить ошибки в прошлом, вооружиться новыми технологиями и на этот раз все сделать правильно. Однако перед прыжком в бездну я все же предлагаю внимательнее присмотреться к реальной стоимости этого шага.
Вы можете свести в один список все фичи своего приложения, а после оценить этапы и приблизительное время их переработки. Большинство именно так и поступает перед тем, как приступить к работе. Но почему тогда на практике выходит, что подобные проекты занимают в 4, 8 или даже 10 раз больше времени, чем разработчики заложили на старте?
Есть три ключевых фактора, которые существенно растягивают процесс. И обычно при оценке затрат их игнорируют. Речь идет о:
![](https://habrastorage.org/webt/_l/k8/us/_lk8usoy7-dabvpw_byft3jdzwm.png)
Первый фактор — новому приложению необходимо догнать текущее.
![](https://habrastorage.org/webt/wq/lt/x-/wqltx-ezpvel3jzuxw_-h7porga.jpeg)
По мере разрастания кода работать с ним становится все труднее. Годы разработки и отлавливания багов приводят к желанию перечеркнуть все и начать с чистого листа. Действительно, очень заманчива мысль о том, чтобы оставить ошибки в прошлом, вооружиться новыми технологиями и на этот раз все сделать правильно. Однако перед прыжком в бездну я все же предлагаю внимательнее присмотреться к реальной стоимости этого шага.
Модель оценки объема работ
Вы можете свести в один список все фичи своего приложения, а после оценить этапы и приблизительное время их переработки. Большинство именно так и поступает перед тем, как приступить к работе. Но почему тогда на практике выходит, что подобные проекты занимают в 4, 8 или даже 10 раз больше времени, чем разработчики заложили на старте?
Читайте также
Публикация о временных затратах на написание программного кода, которая пригодится при оценке объема работ: «Правило 10:1 в программировании и писательстве»
Есть три ключевых фактора, которые существенно растягивают процесс. И обычно при оценке затрат их игнорируют. Речь идет о:
- необходимости наверстать разницу между уровнями текущего и нового приложений,
- объеме непредусмотренных изменений,
- улучшениях, которые придется сделать, чтобы пользователи захотели перейти на новое приложение.
![](https://habrastorage.org/webt/_l/k8/us/_lk8usoy7-dabvpw_byft3jdzwm.png)
Сокращение разницы
Первый фактор — новому приложению необходимо догнать текущее.