Найти в Дзене

С чего начинается любой проект ?

Когда вы сталкиваетесь с созданием проекта (неважно MVP это инновационной идеи или уже будущий highload сервис, который вам поручило реализовать руководство), он всегда будет проходить через ключевые точки. От того как вы расставите приоритетность этих точек, как подготовитесь к ним и как зафиксируете результат — будет зависеть успех проекта. Для начала немного теории. Что же такое проект? Это выполнение уникальной работы. У вас есть начало и конец + некий путь между этими двумя точками. Этот путь вы представляете себе как прямую линию (или почти прямую линию), из точки А в точку Б, где вы и должны получить результат, по которому измеряется успешность вашего проекта. Хотим отметить, что регулярные (рутинные) процессы, которые вы ежедневно выполняете — не равны проектной деятельности. Проектные и процессные задачи не должны перемешиваться между собой. Проектные задачи должны регламентироваться отдельными правилами и нормами в вашей компании или команде. Итак, чем мы можем управлять в
Оглавление

Когда вы сталкиваетесь с созданием проекта (неважно MVP это инновационной идеи или уже будущий highload сервис, который вам поручило реализовать руководство), он всегда будет проходить через ключевые точки. От того как вы расставите приоритетность этих точек, как подготовитесь к ним и как зафиксируете результат — будет зависеть успех проекта.

Для начала немного теории. Что же такое проект?

Это выполнение уникальной работы. У вас есть начало и конец + некий путь между этими двумя точками. Этот путь вы представляете себе как прямую линию (или почти прямую линию), из точки А в точку Б, где вы и должны получить результат, по которому измеряется успешность вашего проекта.

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

Итак, чем мы можем управлять в проекте:

Мы любим сравнивать IT проект со строительством. Так понятнее становятся многие вещи для Заказчика (ведь они превращаются в осязаемые процессы).

Давайте представим себе конструирование загородного дома. Его проектирование можно оптимизировать, выполнив адекватное планирование. Если создавать все в неверном (пусть даже местами) порядке — трудно будет создавать, тестировать и отлаживать процесс постройки (идея, проект, закупка материалов, закладка фундамента, возведение стен и т.д).

Очень часто причиной закрытия так и не вышедшего в свет проекта — является нехватка бюджета. Большая часть этой нехватки — связана с неверным планированием в начале пути.

Тщательное планирование необходимо.

“Вы можете спланировать основные структурные компоненты и позднее решать, чем покрыть пол, в какой цвет покрасить стены, какой использовать кровельный материал и т. д. Хорошо спланированный проект открывает больше возможностей для изменения решения на более поздних этапах работы.” (Цитата С. Макконнелл “Совершенный код”)

Разные проекты (CRM, ERP, e-commerce, агрегаторы объявлений и т.д.) — требуют разного подхода в планировании. Существуют классические и гибкие методологии (постепенность процессов против коротких повторяющихся итераций) для управления проектами. Все методологии помогают нам расставить приоритеты и минимизировать потери на проекте, но не дают “серебрянной пули”.

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

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

Какие фазы проекта вас ожидают?

  • Первая и самая начальная фаза, это зафиксировать для себя требования. Описать проект: его историю (описать как он возник), изменение бизнес-среды (может быть связано с экономикой, конкуренцией и т.д.), какой путь развития выбран для проекта и пояснить причину выбора. Определить конкретные результаты и выгоды, которые будут достигнуты.
  • Планирование бюджетов и сроков. Обязательно установите временные рамки, в которые ожидается достижение целей. Желательно зафиксировать бюджет на риски, взять от максимальной планки около 30% (пусть это и будет запас на “Черный День”). Зарезервировать ресурсы (не только финансовые, но и временные, а также, необходимые специалисты — тоже являются ресурсами) для рисков, которые могут повлиять на проект. Если рисков слишком много, то необходимо переосмыслить задачу в голове.
  • Содержание проекта. Представляете себе финальную точку и начинаете декомпозицию работ (это всегда должен быть актуальный и регулярно обновляющийся документ) или иерархическая структура работ (выписать все шаги по проекту, объединив в блоки).
  • Этапы работы над проектом. Подходы к разработке зависят от предварительного понимания всех требований к системе, если на этапе проектирования возможно определить около 80% требований, то процесс будет более последовательным (скорее всего, это будут проекты, с уже отработанным бизнес-процессом, перенесение проекта на новые технологии, либо системы, которые влияют на здоровье/жизнь людей).
Рис.1  "Последовательный подход" (С. Макконнелл "Совершенный код")
Рис.1 "Последовательный подход" (С. Макконнелл "Совершенный код")

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

Рис.2 . "Итеративный подход" (С. Макконнелл "Совершенный код")
Рис.2 . "Итеративный подход" (С. Макконнелл "Совершенный код")

Определить критический путь проекта. Есть те работы, которые идут параллельно или идут последовательно и их невозможно сделать, не выполнив предыдущую задачу.

  • Управление рисками. Рисковое событие — это все факторы, влияющие на ход развития проекта. Произведите взвешивание по категориям: вероятность — случится это событие или нет, и влияние событий — низкое / высокое. Зарезервируйте ресурсы для рисков. Если рисков слишком много, то необходимо переосмыслить весь проект.

Определите и зафиксируйте антирисковые мероприятия.

-4
  • Зафиксируйте, что входит в проект и что выходит за его границы. Если вы меняете содержание — меняются сроки и бюджет. Нельзя внезапно захотеть делать вещи, которые изначально не предполагались.
    “Помните о бизнес-модели проекта. Многие проблемы с требованиями исчезают при воспоминании о коммерческих предпосылках проекта. Требования, которые сначала казались прекрасными идеями, могут оказаться ужасными, когда вы оцените затраты” (Цитата С. Макконнелл “Совершенный код”)
  • Зафиксируйте план управления вехами (события) — ориентиры, чтобы понять прибыли ли вы в точку, которая отражает необходимый результат или ещё нет. Веха — это результат события, но никак не процесс. Будьте внимательны! Перечислите и кратко опишите важные достижения проекта, которые будут служить основными контрольными точками оценки хода выполнения проекта и его стоимости. Как правило, это точки, в которых выполнение какого-либо действия или группы действий приводит к тому, что проект достигает вехи, производя очень заметный или значительный результат.

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

“Внимание к требованиям помогает свести к минимуму изменения системы после начала разработки. Обнаружив при кодировании ошибку в коде, вы измените несколько строк, и работа продолжится. Если же во время кодирования вы найдете ошибку в требованиях, придется изменить проект программы, чтобы он соответствовал измененным требованиям. Возможно, при этом придется отказаться от части старого проекта, а поскольку в соответствии с ней уже написан некоторый код, на реализацию нового проекта уйдет больше времени, чем могло бы. Вы также должны будете отказаться от кода и тестов, на которые повлияло изменение требований, и написать их заново. Даже код, оставшийся нетронутым, нужно будет заново протестировать для гарантии того, что изменение не привело к появлению новых ошибок” (Цитата С. Макконнелл “Совершенный Код”)
  • Интеграция или внедрение проекта. Определите сферы деятельности, на которые влияют в течение всего срока действия или завершение проекта, и укажите, как они влияют. Например, если проект является проектом разработки приложений, некоторым организациям может потребоваться выполнять процессы вручную, пока не будет внедрен новый автоматизированный процесс.
  • Распределение ролей и зон ответственности между всеми участниками проекта. Помните, что вся ответственность за успешность или (тьфутьфутьфу) не успешность проекта — лежит на основателе.

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

Какие же это будут этапы?

  • Бюджетирование проекта. От чего зависит стоимость разработки?
  • Техническое задание. Как правильно составлять?
  • Проектирование и прототипирование проекта. Как правильно собрать данные и спроектировать понятный интерфейс с минимальным количеством переделок/доработок.
  • Реализация проекта (как двигаться из точки А в точку Б). Первый релиз (альфа/бета/полноценный запуск)
  • Поддержка проекта. Что входит и сколько это должно стоить ?

Заказчик отвечает за грамотную постановку цели, а Исполнители - помогает в достижении этой цели, делиться своим опытом. Грамотное управление и планирование приведет проект к поставленной цели (но помните, что есть еще внешние факторы и держите “руку на пульсе”).

P.S.

Книга, которую мы так часто упоминали: https://www.bookvoed.ru/book?id=406093