Подходы, которые помогут в ИТ-производстве проекта/продукта

Подходы, которые помогут в ИТ-производстве проекта/продукта
Подходы, которые помогут в ИТ-производстве проекта/продукта

Введение

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

Постановка задачи

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

Суть подхода

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

Первое направление – заказчик

Для управления взаимоотношениями с заказчиком нам пригодится любой подход по управлению проектами (ПМ стандарт, prince2, PMP). Там указаны дельные вещи, выделю лишь ключевые на мой взгляд:

  • Цель проекта/продукта
  • Рамки реализации
  • Способ отчётности о выполнении работ (тут нам пригодятся вехи проекта)
  • Бюджет и рамки контракта (не разбиваю на части, так как вопрос очень интересный, и если получится, обязательно его разберу с комментариями юриста)

Второе направление — функциональный заказчик

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

  • Оценка потребностей в функционале – не всегда функционал, который мы считаем киллер-фичей, востребован пользователем. Для выяснения потребуется качественная социология (очень сложно, очень интересно) .
  • Потребительский опыт пользователя – никто кроме пользователя не знает лучше, что ему необходимо.
  • Анализ данных пользователя – решения можно принимать только на основании данных. Эвристический подход интересен и хорош, но не всегда подходит.

Третье направление — производство ИТ-продукта (разработка)

Для наглядности разделим производство на несколько частей. На мой взгляд, так удобней и понятней. Вы можете действовать как вам удобней. Тут очень полезен набор разных Agile-методик, он позволит нам отслеживать состояние на довольно качественном уровне. Выделю минимальные критерии для достижения успеха:

  • Итерационность. У производства должен быть такт, в рамках которого решается определенный пул задач. Без понятного такта, по моему мнению, планирование невозможно.
  • Аналитика на итерацию/задачу (тут я подразумеваю, что в рамках аналитической проработки необходимы рамки реализации с учётом видения заказчика и функционального заказчика) .
  • Одна задача – один исполнитель. При производстве очень важно понимать, кто что делает, и не менее важно знать загрузку участников нашей команды.
  • Тестирование каждой задачи. Оно поможет нам всем стать лучше.
  • Авторская приёмка. В зависимости от подхода, это может быть как коллективная приёмка, так и приёмка аналитиком или владельцем продукта. Важна оценка и сверка с рамками реализации.

Четвертое направление – тестирование QA

Выделяю его отдельно, так как тестирование QA – это большой комплекс мероприятий по управлению качеством (при возможности сделаю обзор с оценкой специалиста) . Считаю, что QA может и должен подчиняться не начальнику производства, а ответственному руководителю проекта/продукта. Тут пригодятся не свойственные ИТ подходы. Например, ШЕСТЬ СИГМ. Выделим наиболее значимое:

  • Искренний интерес к клиенту. QA-специалист, в силу своей специфики, это единственный, кто так же, как и пользователь, заинтересован в понимании, что пошло не так: )
  • Управление на основе данных и фактов. QA может выделять повторяющиеся ошибки и предложить их устранить на этапе проектирования (подчас именно от них исходит инициатива сделать guideline, описать ошибки бизнес-логики, добавить негативные сценарии в use case и т. д.) .
  • Проактивное (упреждающее) управление. QA может и должен влиять на разработку и аналитику. По факту идёт взаимное обогащение знаниями и опытом.
  • Взаимодействие без границ (прозрачность внутрикорпоративных барьеров) . QA за счёт анализа своих задач может предложить варианты их количественного и качественного уменьшения.

Пятое направление – инфраструктура и эксплуатация

Выделяю и это направление отдельно, так как задач решается много, а лежат они в разных плоскостях. Тут, я думаю, фаворитом является методология DevOps во всём её многообразии. Не забываем, что простые мирские задачи (хотя они не самые простые) системного администратора тоже сюда входят, куда без них. И помним, что почти каждый системный администратор является junior DevOps (услышал у одного YouTube-блогера, согласен с его позицией) . Выделю задачи, которые отслеживаю:

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

Шестое направление – информационная безопасность

Комментарии излишни. Уверен, каждый из вас понимает важность обеспечения безопасности работы с данными. Тут подойдёт ещё один не свойственный IT подход – ТОС (теория ограничений систем Голдратта) . Если коротко, то это методология управления производством, которая базируется на поиске и влиянии на ограничения систем. В нашем случае критерием оценки будут риски информационной безопасности. По сути мы рассматриваем разрабатываемую систему как набор подсистем, в каждой из которых есть риски безопасности, и работаем всегда с самым узким местом:

  • Идентификация рисков – тут определяем объекты защиты и угрозы уязвимости
  • Анализ рисков – вероятность наступления непосредственного риска и возможный ущерб
  • Методы по работе с рисками – я выделяю в базе 3 из них, остальное это варианты: принять риск (наступит приемлемый для нас ущерб) , передать риск (например, застраховать или отдать подрядчику) , отказ от риска (сменить подход, отказаться от реализации)

Седьмое направление – служба технической поддержки (СТП)

Это направление можно включать в управление проектом/продуктом, а можно не включать. Я считаю, что его необходимо включить, как наиболее качественный источник обратной связи по проекту/продукту. При правильном подходе будет более чем достаточно информации для развития и управления проектом/продуктом. Для работы подойдёт Kanban, но я бы от себя добавил, что в идеальном мире необходимо добавить такой атрибут, как сквозной бизнес-процесс, в рамках которого идут запросы. Основные направления:

  • Приемка итераций проекта/продукта (возможно, проекта/продукта в целом) – СТП должно в целом знать и понимать, как работать с продуктом (важна документация от разработки, но об этом в следующих статьях) .
  • Набор обращений пользователей по текущему функционалу – крайне важна статистика обращений и бизнес-процессы, которые затрагивают обращения, причем лучше с кратностью итераций разработки, но можно и реже.
  • Набор обращений пользователей по развитию проекта/продукта – очень важный момент, так как он позволяет вовлекать пользователя в развитие. Также желательно идти в такт с итерациями развития проекта/продукта.

Выводы

Вместо вывода выделим подходы к IT-производству в целом.

Они объединяют в себе все направления и подходы. При правильном балансе контрольных мероприятий и параметров можно обеспечить качественное управление производственным процессом проекта/продукта:

  • Заказчик – подойдёт классический подход по управлению проектами. Решает почти все задачи;
  • Функциональный заказчик – подойдёт продуктовый подход. Он пользуется продуктом (хотя для нас это может быть проект) , который решает его задачи;
  • Производство ИТ-проекта/продукта (разработка) . Agile – наше всё, подходов множество. Надо выбрать тот, который ближе вам и команде;
  • Тестирование QA – шесть сигм. Позволит вывести качество на новый уровень и обеспечить обогащение опытом всей команды;
  • Инфраструктура и эксплуатация – методология DevOps;
  • Информационная безопасность – ТОС (теория ограничений систем Голдратта) , которая даст комплексный обзор;
  • Техническая поддержка – Kanban.

Скорее всего вы уже догадались, что для работы есть большой набор подходов. За подход в целом я бы предложил взять ТОС (теория ограничений систем Голдратта) . Он позволит выделить узкое место и настроить весь процесс ИТ-производства. Напомню, что это лишь мой опыт, которым я хотел с вами поделиться.

44
Начать дискуссию