Семь шагов обследования (к завоеванию мира) к построению успешной ИТ-системы

02.09.24

Бизнес-анализ - Анализ предметной области

Успех системы закладывается на предпроекте. Именно на обследовании мы анализируем потребности, перекладываем их в затраты, просчитываем нужное для разработки время и закладываем те функции, что будут в системе. От результатов предпроекта зависит, насколько система будет удовлетворять заказчика и насколько успешно мы систему сдадим. Расскажем о том, как за семь шагов провести обследование, построить концепцию и определить границы системы/проекта.

 

Меня зовут Ирина Гертовская, вся моя деятельность связана с разработкой в IT.

Работала во всех ролях, начиная от разработчика и тестировщика, была аналитиком, руководителем проектов и руководителем подразделения.

Занимаюсь обучением, выступаю на конференциях, участвую в организации «Летнего аналитического фестиваля».

 

 

На слайде перечислены те предметные области, в которых работают мои проекты – и сейчас я попробую свой опыт обобщить и вам передать.

 

 

Я глубоко убеждена, что успех системы закладывается на предпроекте. Именно на обследовании мы анализируем потребности и цели будущей системы, перекладываем их в затраты, рассчитываем нужное для разработки время и закладываем то, что будет в системе. От результатов предпроекта зависит, как мы систему сдадим.

 

 

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

 

 

По мнению Дерека Хитчинса, успешная система – это та, с которой добиваются успеха ключевые заинтересованные стороны, стейкхолдеры – те, ради кого мы работаем.

А Фредерик Брукс, который написал книгу «Мифический человеко-месяц», сказал: «Самое сложное – решить, что мы будем создавать».

Именно этим предпроект и занимается – определяет, что создавать в системе. Поэтому мы сейчас займемся потребностями, целями и задачами.

 

 

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

 

 

На старте предпроекта мы должны определить:

  • Концепцию – но, если мы уже работаем в рамках системы, в отдельном виде концепция не нужна.

  • Границы проекта – определить MVP или дорожную карту, выстроить приоритеты.

  • Контрактные обязательства – их тоже может не быть, если это внутренняя разработка, там контракт не нужен.

На этом этапе важно фиксировать возникающие у нас вопросы, на которые мы не можем найти ответ в моменте. Т.е. открытые вопросы следует:

  • записывать в едином месте;

  • искать и фиксировать ответы;

  • контролировать ответы и учитывать их в обследовании.

Это все – функции аналитика, project owner’а и руководителя проекта. Причем, здесь аналитик должен выступать правой рукой руководителя проекта – заранее увидеть эти проблемы и обратить на них внимание руководителя, у которого много других забот. Фиксировать открытые вопросы очень важно.

 

 

Второй шаг – выявляем стейкхолдеров, тех, для кого нужна система. Это очень важно.

Не «что будет делать система», а «для кого система» – кто заинтересован в том, чтобы она была. Для кого мы ее строим, чьи интересы мы должны выполнить.

 

 

Не забывайте определение того, что такое заинтересованные стороны – оно есть в любом своде знаний PMBoK, BABOK.

Это группа лиц и/или один человек, которые:

  • могут влиять на систему;

  • могут оказаться под влиянием системы;

  • могут считать себя затронутыми системой – не быть затронутыми, а считать себя затронутыми, это тоже очень важно;

  • и могут повлиять на выбор путей реализации системы.

Заинтересованными сторонами могут быть те, кто находится совсем далеко, но при этом влияет на систему – возможно, это какие-нибудь, регуляторы, законодатели, еще кто-то. Регуляторы – это тоже стейкхолдеры.

 

 

Здесь на слайде перечислены примерные группы стейкхолдеров.

 

 

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

Самые важные группы стейкхолдеров:

  • Ключевые – те, чьи интересы мы должны соблюсти в системе.

  • Критичные – те, кто влияет на решения и пути реализации. Сюда относятся:

    • разработчики – от них зависит, какими способами они могут это сделать;

    • регуляторы – те, кто задают правила. Это тоже очень важно.

Думайте о клиенте своего клиента. Система реализуется не только для тех, кто нам ее заказывает и будет работать в ней. А еще и для тех, ради кого работают пользователи системы. Например, система банка разрабатывается для работников банка, но для улучшения обслуживания клиентов банка. Т.е. система может не доходить до клиентов банка, но думать об их потребностях и проблемах нужно. Если система не будет решать их проблемы – клиенты банка уйдут в другой банк, наш клиент (банк) потеряет бизнес.

 

 

После того как у нас появились стейкхолдеры, мы определяем их цели и проблемы и указываем в концепции.

 

 

Следующий шаг – нужно изучить предметную область или, иными словами, домен.

Здесь нас интересуют:

  • Бизнес-процессы, этапы, переделы – нужно построить себе картинку, что вообще происходит.

  • Объекты.

  • Бизнес-правила – например, регулятор нам дает нормативку.

  • Внешние условия.

  • Сюда же можно отнести и возможности. Например, доступность интернета нам дала новые возможности – у нас изменился вызов такси, стала популярна доставка, и все это происходило на наших глазах.

 

 

Описание домена мы прописываем в концепцию. Пусть в двух-пяти предложениях, но важно указать в концепции, о чем речь.

 

 

Переходим к четвертому шагу – начинаем думать о том, ЗАЧЕМ нам система? Если мы не понимаем ДЛЯ КОГО (кто стейкхолдеры) и не понимаем ГДЕ (в каком домене или предметной области эта система), к этому шагу переходить рано. Это очень важно.

Но когда мы идем к стейкхолдерам и что-нибудь спрашиваем, они нам не говорят пользовательские или бизнес-требования требования. Они нам говорят о своих проблемах, о своих болях и, в лучшем случае, о своих потребностях. Люди вообще думают моделями.

Часто на обследовании аналитик начинает спрашивать, ему что-то отвечают, а потом он находит подробности в литературе, додумывает и спрашивает: «А вот это так?» – «Конечно, а как иначе?» Но мы-то откуда это знаем? Эти реальные потребности надо из ключевых стейкхолдеров как-то вытащить и с ними согласовать.

 

 

Для этого нужно подняться на уровень бизнес-целей.

 

 

Здесь немного определений, которые будут упоминаться дальше на схемах.

 

 

Зависимости требований:

  • Первое – мы приходим к заинтересованным сторонам и выясняем их требования.

  • Второе – на основании требований пишем спецификацию к ПО и отдаем ее в разработку.

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

 

 

И вот тут идет разрыв.

Они нам говорят: «А почему вы это не сделали?» Мы отвечаем: «Так вы нам это не сказали». Что в корне неверно. Не делайте так!

 

 

Поэтому при сборе потребностей нужно:

  • Обязательно заглянуть в бизнес-цели – посмотреть, что они в целом хотят, ради чего они строят систему.

  • После этого, с учетом потребностей и бизнес-целей, построить спецификацию и передать в разработку.

  • Тогда сдавать систему заказчику нам будет легче.

 

 

Пятый шаг – ЧТО: какие функции должна выполнять наша система?

Мы выявили домен, выявили стейкхолдеров. А теперь мы приходим к нашей системе и определяем роли и основные функции:

  • Кто вообще в системе будет работать? Ранее у нас были стейкхолдеры, которые могут и не работать в системе – если, например, они регуляторы или пользуются результатами системы. А здесь мы рассматриваем уже роли и основные функции в нашей системе.

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

  • Дорожная карта развития.

  • MVP и приоритеты разных частей. MVP – это минимальный жизнеспособный продукт. Это то, что мы покажем заказчику в первый момент, докажем, что мы понимаем что ему, заказчику нужно и что мы умеем делать. MVP должен показать, что идея будет работать. Вам нужно выбрать то, что вы будете показывать. Помните, что объять необъятное нельзя – выберите что-то конкретное и полезное заказчику.

  • Ограничения – вам нужно выявить, определить массу всяких ограничений.

  • Критерии успеха – как показать заказчику, что система выполняет задуманные заказчиком функции, удовлетворяет потребности, решает проблемы. Иногда сложно. Но полезно.

 

 

Шестой шаг, без которого система не взлетит – это подумать о внедрении.

 

 

О чем важно не забыть:

  • Нефункциональные требования:

    • какие нагрузки будут;

    • с какими скоростями должна работать система;

    • какие объемы;

    • какие периоды бесперебойной работы и т.д.

  • Организация внедрения:

    • Нужна ли новая оргструктура, или мы этой обойдемся?

    • Нужна ли миграция данных?

    • Нужно ли обучение персонала? На это надо хотя бы бегло посмотреть еще на предпроекте, когда мы поняли, для чего система, что мы хотим, чтобы она делала, хотя бы галочки поставить «надо» / «не надо». Что-то – обязательно, а что-то мы можем на второй этап перенести.

  • И ограничения, особенности:

    • Лицензирование – нужно или нет, что именно требует лицензирования.

    • Сертификация – будем ли мы проверять тех, кого допустим к системе, в каких случаях, какие роли.

    • Легитимность – кто вообще имеет право работать в системе.

    • Открытые, закрытые данные – не забываем о госзаказах.

    • Модернизация технической базы.

Это то, что надо не забыть. Конечно, когда мы эти пункты прорабатываем, мы уже понимаем, что надо спросить, какой объем, какие сроки, какие скорости. Но здесь я выделила отдельно, чтобы целенаправленно показать. И, конечно, это требует отдельного разговора, отдельного рассмотрения.

 

 

Мы пробежали по всем пунктам – что важно не забыть. Потом все это попадет в контракт, если контракт есть.

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

 

 

И самое главное – как обеспечить приемку.

С кем мы согласовываем наши решения? Разработка тоже должна согласовать, что это реализуемо. Сопровождение тоже должно понимать, что они будут сопровождать. Поэтому согласовывать должен тот, кто будет разрабатывать, эксплуатировать, принимать.

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

Важно, что мы прямо в предпроектных документах пишем пофамильно – кто согласовывает и кто принимает.

Если фамилия меняется, мы идем и договариваемся: «Ты тоже так считаешь? Если ты тоже так считаешь, как тот, кто был до тебя, пожалуйста, распишись. А если ты так не считаешь, то, пожалуйста, дай замечания, мы будем думать, что с ними делать».

Это очень важная вещь для успешной сдачи проекта.

 

 

Здесь шаги, чтобы свериться и не забывать.

И литература:

  • IIBA «BABOK Guide v3. Руководство к своду знаний по бизнес-анализу»

  • К. Вигерс, Дж. Битти «Разработка требований к программному обеспечению»

  • Э. Халл, К. Джексон, Д. Дик «Инженерия требований»

  • А. Коберн «Современные методы описания функциональных требований к системам»

  • Ivar Jacobson «The Essence of Software Engineering»

  • Ivar Jacobson «Kill All Methods – Free the Practices», SECR-2017

  • Анатолий Левенчук «Системное мышление»

 

*************

Статья написана по итогам теоретической части мастер-класса, проведенного на конференции Анализ & Управление в ИТ-проектах 2023. Практическую часть мастер-класса рекомендуем посмотреть в видеоформате (видео)

См. также

Инструменты управления проектом Работа с заинтересованными сторонами Бесплатно (free)

Тимлиду важно успевать все. «Табло» – простое решение, который помогает приоритизировать задачи, прогнозировать сроки и стоимость работ на основе статистики и мощности команды. Теперь обсуждения с заказчиками строятся на данных, а не на эмоциях. Рассказываем, как запустить такой инструмент.

19.08.2025    1059    0    user906135    0    

4

Работа с требованиями Анализ предметной области Анализ потребностей и поиск решений Бесплатно (free)

Автоматизация бизнес-решений включает такие действия, как выявление, спецификация и изменение требований в течение жизненного цикла программного продукта. На каждом из этих этапов аналитик может столкнуться с неочевидными бизнес-правилами и их противоречиями, которые затрудняют описание логики системы. Расскажем о том, как выявить, специфицировать и проверить требования на полноту с помощью таблиц принятия решений (Decision Model and Notation, DMN).

07.08.2025    819    0    Artem_Ka    0    

4

Анализ бизнес-процессов Архитектура решений Работа с требованиями Бесплатно (free)

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

04.08.2025    809    0    user1754524    0    

2

Работа с требованиями Работа с заинтересованными сторонами Внедрение изменений Бесплатно (free)

Переход на новую 1С – это не всегда успех. Иногда приходится сталкиваться с ошибками и наступать на грабли. Но именно они становятся источником опыта и практических приемов, которые нужно учесть на каждом из этапов проекта. Расскажем о типовых проблемах, возникающих при планировании перехода, ключевых вопросах заказчику, подходах к переходу и доработке механизмов переноса.

15.07.2025    1518    111    primat    5    

7

Анализ предметной области Внедрение изменений 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Пример с проекта: статья написана по мотивам ситуации сложного учета при начале эксплуатации 1C:ERP на предприятии, выпускающем металлоконструкции. В статье описывается личный опыт эксперта по внедрению 1С:ERP, компании "Институт типовых решений - производство".

11.07.2025    590    0    itrp    2    

0

Работа с требованиями Анализ бизнес-процессов Моделирование бизнес-процессов Анализ предметной области Бесплатно (free)

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

09.06.2025    1185    0    SerjoginaMaria    0    

1

Анализ бизнес-процессов Оптимизация бизнес-процессов Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

Расскажу про собственный опыт цифровой трансформации IT компании на базе продукта ERP-Tools. Как можно автоматизировать основные и вспомогательные бизнес-процессы IT компании, как взять под контроль десятки и сотни информационных систем и сервисов

27.05.2025    1342    0    DenisErmolaev    0    

3

Инструменты управления проектом Продуктовый подход Работа с заинтересованными сторонами Бесплатно (free)

В девятнадцатом выпуске третьего сезона подкаста Радио “Аналитик“ обсудили, чем продуктовый подход отличается от проектного, особенности заказной разработки и в каких ситуациях продуктовый подход применим в заказной разработке.

19.05.2025    614    0    Radio_Analyst    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Идальго 239 03.09.24 08:48 Сейчас в теме
Прикольная статья и слайды хорошие - всё что нужно.
2. user1669221 23 10.09.24 12:57 Сейчас в теме
(1) Спасибо! Рада, что полезно.
Для отправки сообщения требуется регистрация/авторизация