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

Если предположить, что проект вообще может быть закрыт на 100%, то вполне естественно, что именно к этой отметке разработчики и клиенты должны стремиться. И пока проект не будет соответствовать этим 100%, его нельзя запускать и нельзя считать готовым. Ну а в чём же, собственно, проблема? А проблема в том, что 100% в проекте попросту не существует.

Довольно часто истории веб-проектов развиваются по схожей канве. Под хорошую идею удаётся найти инвестиции, начинается работа над проектом. С инвестором оговаривается некий срок — скажем, 6 месяцев разработки. Часто с самого начала внутри команды есть люди, которые высказывают скепсис по поводу самой возможности уложиться в эти рамки. Мол, проект сложный и, по-хорошему, нужно 1,5-2 года на разработку прототипа. Как минимум. Но бодрый руководитель проекта говорит: «Мы успеем! Мы сделаем невозможное!».

А после 6 месяцев напряжённой работы выясняется, что и в самом деле, уложиться в указанный срок с указанным объёмом задач не получается. Проект оказывается не сделан даже на 50%. В лучшем случае, после такого разработчикам позволяют отодвинуть срок сдачи, а в худшем — проект попросту закрывают.

А почему так получается? Что руководитель проекта делал не так? Давайте попробуем разобраться. И для начала проясним главный вопрос.

Что такое «сто процентов»

Дело в том, что очень часто в подобного рода проектах планка, за которой находится ввод в эксплуатацию, как раз таки находится на отметке неких условных 100%. Проекта / 1 этапа / бета-версии, не важно. И вот эти 100% и становятся в таких проектах ориентиром, финишной чертой. Но штука в том, что они недостижимы.

Ведь что такое «сто процентов» в контексте интернет-проекта? Как правило, под этим принято подразумевать соответствие результата работ некоему техническому заданию. Но, к сожалению, в веб-проектах более сложных, нежели обыкновенный сайт-визитка, исходное техническое задание и другая проектная документация нередко меняются в ходе разработки. Тут что-то не учли, там что-то не предусмотрели, а от этого можно пока отказаться в пользу чего-то другого.

Вот и получается, что планка 100% постоянно отползает вперёд. И потому, на мой взгляд, сам по себе набор функций является плохим ориентиром в контексте разработки проекта.

Но если набор функций — это плохой ориентир, то какой считать хорошим?

Сроки

Если бы каждого человека спрашивали, сколько ему времени необходимо, чтобы добиться в жизни чего-то существенного (скажем, стать писателем, режиссёром, выдающимся бизнесменом), то большинство людей сказали бы, что одной человеческой жизни явно недостаточно. Уж если подходить к делу с толком, с расстановкой, то нужно 1,5-2 жизни. Как минимум.

Но все мы прекрасно знаем, что это так не работает. Нравится нам это или нет, а срок человеку отводится не такой уж большой. Отдельным людям достаётся даже меньше лет, чем другим. Например, Моцарт прожил всего-то 35 лет. Так что дело не только в количестве лет, но и в их качестве.

И если из плоскости человеческой жизни перебираться в плоскость разработки веб-проектов, то здесь изначальное ограничение по времени даёт максимально объективный и абсолютно прозрачный ориентир.

Удастся ли через 6 месяцев создать задуманную функциональность? Не факт. Пройдут ли 6 месяцев за 6 месяцев? Наверняка! Ну и не говоря о том, что привязка к срокам позволяет сократить издержки.

Как построить процесс разработки проекта, опираясь на сроки?

Стало быть, изначальным ориентиром в разработке проекта будет время. И как же тогда быть с функциональностью системы? Здесь всё просто!

Прежде, ориентируясь на функциональность, мы рассуждали так — если нам не удаётся выполнить все поставленные задачи в срок, значит, срок неправильный, его нужно увеличивать.

Теперь, ориентируясь на время, мы рассуждаем так — если нам не удаётся выполнить все поставленные задачи в срок, значит, количество задач неверно, его нужно сокращать.

Как только вы реально начинаете пытаться вписаться в рамки времени, многое предстаёт под совершенно иным углом. То, что раньше казалось важным, отходит на десятый план. Вот уже и мобильной версией сайта можно поступиться. А вот мы и отказались от оптимизации под планшетные устройства. А вот уже и целую огромную функцию отсекли. Да, в итоге от изначальной задумки могут быть отрезаны очень многие функции. Но не беда! Ведь, если всё будет хорошо, они окажутся отрезанными только на первой отметке!

Маленький шаг

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

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

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

А самое главное, такой путь развития, в котором изначально демонстрируется не готовый продукт, а его раннее приближение, вообще говоря, хорош именно тем, что вы ещё не зашли слишком далеко!

Рим не один день строился

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

Правда в том, что большинство современных IT-проектов сложные, и их почти невозможно сколько-нибудь полноценно реализовать даже за год. Разработчики часто говорили мне: «Наш проект ещё не готов! Мы не можем запускать его!». Это напоминает то, как отдельные родители оберегают своих детей, не пуская их во внешний мир. Ведь там много опасностей. Ведь проект могут не понять. Его могут критиковать. Его могут взломать. В таком виде он никому не понравится и т.д.

Всё большое начинается с малого! И Рим тоже не один день строился! Сейчас этому городу уже больше 2500 лет. И вот на сколько процентов Рим закончен?

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