Чтобы разработать приложение в срок, нужно всего лишь 2 вещи: первое — составить план разработки, второе — его придерживаться.
Но на деле все оказывается совсем не так радужно. Тема срыва дедлайнов и задержки работ в IT-сфере очень популярная и наболевшая.
Как не наступить на эти грабли? Расскажем о ключевых моментах, которые должна знать команда разработки, чтобы сдать работу вовремя.
Почему так сложно уложиться в срок?
В первую очередь, из-за проблем планирования. Заказная индивидуальная разработка — не типовое штампование продукта, а креативный процесс. Если 2 компании решат разработать приложение по одному и тому же ТЗ, получатся совершенно разные результаты. Не зря законодательство приравнивает разработку ПО к созданию литературного произведения.
Представьте, что вам нужно написать детективный роман в 500 страниц. Сколько это займет времени? Неделю, а может год? Зависит от многих факторов: вашего опыта, вдохновения, навыков тайм-менеджмента.
В случае разработки приложения, дополнительной сложностью является то, что это коллективный труд творческих людей. На итог будет влиять состав команды, опыт отдельных специалистов, их взаимодействие между собой и даже настроение. Плюс этим процессом кто-то должен управлять: когда один закончил свою часть работы, оперативно передать другому, следить, чтобы каждый шел в соответствии с планом и ничего не перепутал.
Ну и конечно, всегда есть место рискам. Бывает, разработчик просто не может оценить время на исправление ошибки, потому что еще не разобрался в ее причине. Или специалист оценил работу неверно, посчитал что на она не такая сложная, на деле же разработка заняла намного больше времени.
Что делать, чтобы разработать приложение в срок?
Чтобы ожидания совпадали с реальностью, на стороне команды разработки должны выполняться следующие условия:
1. Детальная аналитика
Чем лучше продумана логика работы и точнее описана задача, тем точнее будут определены сроки. Поэтому процессу разработки должен предшествовать этап аналитики задачи. Подумайте, какие данные взаимодействуют между собой, как связаны, на что влияют. Опишите успешные и неуспешные сценарии, отображение для разных вариантов и ролей. На этом этапе базируется вся дальнейшая разработка, поэтому не стоит экономить на аналитике и написании ТЗ. Для этого есть другие способы.
2. Реалистичное планирование
Правильное распределение задач между исполнителями, особенно, когда этапы выполняются параллельно, очень важно. При планировании ориентируйтесь не на оптимистичный, а на реалистичный расклад. Учтите, что исполнители могут отвлекаться на другие проекты и исправление ошибок. Не нужно ожидать, что весь рабочий день будет тратиться непосредственно на разработку, нужно предусмотреть и время на отдых, коммуникацию, обучение, собрания и митинги. Конечно, заложить риски, на случай, если кто-нибудь из команды заболеет или будет отсутствовать по другим причинам.
3. Контроль
Постоянно контролируйте процесс, сверяйтесь с планом работ. Сразу реагируйте, если на каком-то этапе пошла задержка и расхождение с планом. Узнайте, почему так вышло, в чем сейчас сложность, и как можно помочь.
Если не получается решить проблему сразу, отложите на время и перейдите к другим задачам, возможно, решение найдется на “свежую голову”. Привлеките более опытных коллег, если этого не произошло.
Заказчику на этапе выбора команды необходимо убедиться, что в компании исполнителя установлен определенный процесс разработки, и эти 3 пункта являются его частью. Далее, проверять результат на контрольных точках.
Вывод
Аналитика, планирование и контроль — 3 кита, на которых базируется попадание в дедлайн.
Конечно, бывает, что учли не все, всплыла дополнительная сложность, которая повлияет на сроки работ. Команде, в таком случае, обязательно нужно уведомить Заказчика, с указанием причины и нового планируемого срока сдачи. А в конце спринта провести ретроспективу: выяснить, почему так получилось и как избежать подобного в будущем.