Бутик интенсивной веб-разработки
+7 911 564-3132

Золотое правило разработки

1 Января 2015

Илья Гарах
Партнер, тех. директор.
Я несколько дней думал над тем, как сжать все мысли на эту тему до эссенции из одной фразы и, в итоге, родился такой вариант:

«Решайте задачу в ваших условиях»

Вообще, это универсальное правило, которое должно применяться к любому созидательному процессу, но я буду говорить в контексте, конечно же, IT проектов.

Суть правила очень проста — ведите разработку в тех условиях, в которых вы находитесь. Например, если вам требуется максимально быстро вывести стартап на рынок для проверки бизнес идеи, то подойдет любое решение «на коленке»: быстро, дешево и сердито, и после того, как идея подтвердится, можно собирать полноценную команду, проводить рефакторинг, продумывать детали и двигаться дальше. В противном случае можно погрязнуть в разработке заведомо неудачного проекта. А в проекте с подтвержденной бизнес идеей, такой подход, скорее всего, окажется проигрышным. С другой стороны слишком сильные упрощения и непродуманная архитектура могут завести проект в тупик в самый не подходящий момент.

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

Но сказать — проще, чем сделать, ведь условия диктуются бизнес требованиями, которые часто определены довольно абстрактно, без детализации и изменяются во времени. В таких ситуациях работа руководителя напоминает игру в карты: необходимо принимать решения, без видимости картины в целом, но к концу игры станет понятно, были ли ваши ходы удачными или нет.

Одной из основных причин неверной оценки требований и текущих условий является дефрагментация команды по функциональным признакам: программисты делают код, дизайнеры рисуют, менеджеры общаются с клиентами и занимаются бизнес планированием и т.д. Таким образом, команда разбивается на группы, в которых понимание проекта и его целей складывается по-разному, что приводит к непредсказуемым результатам.

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

Таким образом, не существует панацеи, которая поможет вам сделать любой проект. В вашем распоряжении есть набор практик, методологий, универсальных подходов, они, безусловно, помогают при разработке, но для успешного достижения цели необходимо уметь их комбинировать, а иногда даже идти им наперекор.