С чего начинается любой проект
От того, как вы расставите приоритетность этих точек, как подготовитесь к ним и как зафиксируете результат, будет зависеть успех проекта.
Для начала немного теории. Что же такое проект?
Это выполнение уникальной работы. У вас есть начало и конец + некий путь между этими двумя точками. Этот путь вы представляете себе как прямую линию (или почти прямую линию), из точки А в точку Б, где вы и должны получить результат, по которому измеряется успешность вашего проекта.
Хотим отметить, что регулярные (рутинные) процессы, которые вы ежедневно выполняете — не равны проектной деятельности. Проектные и процессные задачи не должны перемешиваться между собой. Проектные задачи должны регламентироваться отдельными правилами и нормами в вашей компании или команде.
Итак, чем мы можем управлять в проекте:
Мы любим сравнивать IT проект со строительством. Так понятнее становятся многие вещи для Заказчика (ведь они превращаются в осязаемые процессы).
Давайте представим себе конструирование загородного дома. Его проектирование можно оптимизировать, выполнив адекватное планирование. Если создавать все в неверном (пусть даже местами) порядке — трудно будет создавать, тестировать и отлаживать процесс постройки (идея, проект, закупка материалов, закладка фундамента, возведение стен и т.д).
Очень часто причиной закрытия так и не вышедшего в свет проекта — является нехватка бюджета. Большая часть этой нехватки — связана с неверным планированием в начале пути.
Тщательное планирование необходимо.
«Вы можете спланировать основные структурные компоненты и позднее решать, чем покрыть пол, в какой цвет покрасить стены, какой использовать кровельный материал и т. д. Хорошо спланированный проект открывает больше возможностей для изменения решения на более поздних этапах работы.» (Цитата С. Макконнелл «Совершенный код»)
Разные проекты (CRM, ERP, e-commerce, агрегаторы объявлений и т.д.) — требуют разного подхода в планировании. Существуют классические и гибкие методологии (постепенность процессов против коротких повторяющихся итераций) для управления проектами. Все методологии помогают нам расставить приоритеты и минимизировать потери на проекте, но не дают «серебрянной пули».
Невозможно реализовать проект быстро, дешево, с максимально возможной функциональностью, без рисков для вас и с наивысшим качеством. Так или иначе, все аспекты придут в баланс и будут друг другу соответствовать.
Любой проект проходит через фазы развития. Каждую из них можно пройти циклично по несколько раз, перед тем как переходить к следующей.
Какие фазы проекта вас ожидают?
- Первая и самая начальная фаза, это зафиксировать для себя требования. Описать проект: его историю (описать как он возник), изменение бизнес-среды (может быть связано с экономикой, конкуренцией и т.д.), какой путь развития выбран для проекта и пояснить причину выбора. Определить конкретные результаты и выгоды, которые будут достигнуты.
- Планирование бюджетов и сроков. Обязательно установите временные рамки, в которые ожидается достижение целей. Желательно зафиксировать бюджет на риски, взять от максимальной планки около 30% (пусть это и будет запас на «Черный День»). Зарезервировать ресурсы (не только финансовые, но и временные, а также, необходимые специалисты — тоже являются ресурсами) для рисков, которые могут повлиять на проект. Если рисков слишком много, то необходимо переосмыслить задачу в голове.
- Содержание проекта. Представляете себе финальную точку и начинаете декомпозицию работ (это всегда должен быть актуальный и регулярно обновляющийся документ) или иерархическая структура работ (выписать все шаги по проекту, объединив в блоки).
- Этапы работы над проектом. Подходы к разработке зависят от предварительного понимания всех требований к системе, если на этапе проектирования возможно определить около 80% требований, то процесс будет более последовательным (скорее всего, это будут проекты, с уже отработанным бизнес-процессом, перенесение проекта на новые технологии, либо системы, которые влияют на здоровье/жизнь людей).
Если на предварительном этапе выработки требований к проекту, можно описать только малую часть, то рекомендуется придерживаться более гибких методологий разработки и управлять проектом фрагментарно, определив на старте минимальные жизненно важные требования к проекту. Дополнительные требования добавляются по мере развития проекта.
Определить критический путь проекта. Есть те работы, которые идут параллельно или идут последовательно и их невозможно сделать, не выполнив предыдущую задачу.
- Управление рисками. Рисковое событие — это все факторы, влияющие на ход развития проекта. Произведите взвешивание по категориям: вероятность — случится это событие или нет, и влияние событий — низкое / высокое. Зарезервируйте ресурсы для рисков. Если рисков слишком много, то необходимо переосмыслить весь проект.
Определите и зафиксируйте антирисковые мероприятия.
- Зафиксируйте, что входит в проект и что выходит за его границы. Если вы меняете содержание — меняются сроки и бюджет. Нельзя внезапно захотеть делать вещи, которые изначально не предполагались.
«Помните о бизнес-модели проекта. Многие проблемы с требованиями исчезают при воспоминании о коммерческих предпосылках проекта. Требования, которые сначала казались прекрасными идеями, могут оказаться ужасными, когда вы оцените затраты» (Цитата С. Макконнелл «Совершенный код»)
- Зафиксируйте план управления вехами (события) — ориентиры, чтобы понять прибыли ли вы в точку, которая отражает необходимый результат или ещё нет. Веха — это результат события, но никак не процесс. Будьте внимательны! Перечислите и кратко опишите важные достижения проекта, которые будут служить основными контрольными точками оценки хода выполнения проекта и его стоимости. Как правило, это точки, в которых выполнение какого-либо действия или группы действий приводит к тому, что проект достигает вехи, производя очень заметный или значительный результат.
Совет:
Обращайтесь за помощью к специалистам из финансовой, юридической, экономической, технической сферы, чтобы верно спланировать проект и не столкнуться в середине пути с тем, что нужно было решить вначале. Рекомендуем обращаться к потенциальным подрядчикам, т.к. это поможет определиться с выбором подрядчика и включиться им в работу.
«Внимание к требованиям помогает свести к минимуму изменения системы после начала разработки. Обнаружив при кодировании ошибку в коде, вы измените несколько строк, и работа продолжится. Если же во время кодирования вы найдете ошибку в требованиях, придется изменить проект программы, чтобы он соответствовал измененным требованиям. Возможно, при этом придется отказаться от части старого проекта, а поскольку в соответствии с ней уже написан некоторый код, на реализацию нового проекта уйдет больше времени, чем могло бы. Вы также должны будете отказаться от кода и тестов, на которые повлияло изменение требований, и написать их заново. Даже код, оставшийся нетронутым, нужно будет заново протестировать для гарантии того, что изменение не привело к появлению новых ошибок» (Цитата С. Макконнелл «Совершенный Код»)
- Интеграция или внедрение проекта. Определите сферы деятельности, на которые влияют в течение всего срока действия или завершение проекта, и укажите, как они влияют. Например, если проект является проектом разработки приложений, некоторым организациям может потребоваться выполнять процессы вручную, пока не будет внедрен новый автоматизированный процесс.
- Распределение ролей и зон ответственности между всеми участниками проекта. Помните, что вся ответственность за успешность или (тьфутьфутьфу) не успешность проекта — лежит на основателе.
Функциональные области в проекте это сроки, бюджет (стоимость), задачи (качество их выполнения), риски, выгоды, команда, интеграция (объединение всех областей). Всё нужно описать еще на старте и дальше переходить к выполнению этапов проекта.
Какие же это будут этапы?
- Бюджетирование проекта. От чего зависит стоимость разработки?
- Техническое задание. Как правильно составлять?
- Проектирование и прототипирование проекта. Как правильно собрать данные и спроектировать понятный интерфейс с минимальным количеством переделок/доработок.
- Реализация проекта (как двигаться из точки А в точку Б). Первый релиз (альфа/бета/полноценный запуск)
- Поддержка проекта. Что входит и сколько это должно стоить ?
Заказчик отвечает за грамотную постановку цели, а Исполнители — помогает в достижении этой цели, делиться своим опытом. Грамотное управление и планирование приведет проект к поставленной цели (но помните, что есть еще внешние факторы и держите «руку на пульсе»).
P.S.
Книга, которую мы так часто упоминали: