Почему не справляется программист-одиночка? - ПКБ ­«Витебск»

Почему не справляется программист-одиночка?

У многих потенциальных (и реальных) клиентов возникает похожая ситуация. Для компании пишется какая-то система автоматизации. Пишет её свой (или приходящий) программист-одиночка. Программист этот человек высококвалифицированный и добросовестный, свою работу выполняет хорошо, но дело в какой-то момент застопорилось и почти не движется.

Сразу отметим, что ситуацию с недобросовестным или неквалифицированным разработчиком мы не рассматриваем. Специалист, о котором мы будем говорить, опытный и ответственный. А причины, по которым работа стоит на месте, исключительно организационные и от специалиста не зависят.

Как создаются и сопровождаются системы автоматизации бизнеса

Во-первых, системы автоматизации пишутся не вдруг и не за один день. Во-вторых, серьёзная система автоматизации состоит из разных частей.

По мере того, как одни части написаны, с ними начинают работать пользователи. В это время пишутся другие части системы.

Однако, любой нормальный бизнес — это живой организм, который постоянно развивается и меняется. Источники изменений могут быть разными: требования госорганов, новые идеи учредителя, новые направления деятельности, совершенствование внутренних процессов. Многие из этих изменений влекут доработки в уже работающих частях системы. Это называется сопровождение. Соответственно, чем больше развита система, тем больший объём работ по сопровождению требуется.

Как возникает узкое место

В какой-то момент объём работ по сопровождению занимает всё время единственного специалиста. Больше ничем он заняться не в состоянии физически.

Условно говоря, в начале программист тратил примерно 8 часов в день на создание чего-то нового. Сначала он сделал модуль закупок. Отдел снабжения стал работать, появились потребности в доработке этого модуля. Скажем, небольшие: в среднем полчаса в день.

Потом он написал модуль работы с клиентами и внедрил в отделах маркетинга и сбыта. Там запросов стало больше: предприятие динамично реагирует на потребности заказчиков и постоянно совершенствует формы работы. На сопровождение внедрённых частей системы он стал уже тратить 3 часа в день.

Далее внедрили складской учёт и аналитику для директора. На все виды сопровождения теперь уходит 6 часов в день.

Получается, что на создание чего-то нового остаётся 2 часа или в 4 раза меньше времени. То есть, скорость работы над ещё не написанными частями системы упала в 4 раза.

А с какого-то момента он сопровождением будет заниматься вообще всё время.

Как решить возникшую проблему

Теперь, когда проблема и причины очевидны, очевидными становятся и решения:

  1. Расширить штат. Вместо одного специалиста найти двух, трёх, сколько понадобится. Минусы такого подхода в том, что ими всему нужно управлять и нужен руководитель, хорошо разбирающийся в их профессиональной области.
  2. Обычно сложную систему отдают на написание одному программисту, чтобы растянуть финансирование по времени — платить долго и понемногу. Возможно, стоит один раз не пожалеть разово большую сумму денег, оплатить работу профессиональной команды разработчиков, которые напишут систему не за 3 года, а за несколько месяцев, а уже готовую систему отдать на сопровождение своим специалистам.