Анализ требований к автоматизированным информационным системам

Введение

Данная вводная лекция курса по анализу требований предназначена для формирования у слушателей общего контекста предстоящего обучения. Лектор, Иван Никитин, делится своим 15-летним опытом в ИТ, чтобы обозначить междисциплинарный характер профессии аналитика. В ходе занятия определяются цели и структура курса, состоящего из шести лекций, а также его границы (фокус на анализе, а не на управлении или глубоких технических деталях). На основе статистических данных о росте интернет-аудитории обосновывается растущая потребность в качественных информационных системах и, как следствие, в грамотном анализе требований. Вводятся ключевые понятия всего курса: деструктивный анализ (разделение на части) и конструктивный синтез/проектирование (сборка целого).

Основные мысли

1. Анализ требований — это комплексная инженерная дисциплина. Это не просто сбор пожеланий, а сложный, многосоставный процесс, требующий системного подхода и понимания смежных областей (проектирования, архитектуры).
2. Анализ и проектирование неразрывно связаны. Анализ (деструкция) помогает разобрать проблему на части, а проектирование/синтез (конструкция) — собрать из этих частей работающее и ценное решение.
3. Существуют разные виды анализа. В зависимости от задачи (бизнес-задача, системная задача, работа с данными) применяются разные виды анализа: бизнес-анализ, системный анализ, анализ данных и т.д.
4. Главная цель анализа — определить контекст использования системы. Понимание того, где и как будет использоваться продукт, является ключевым фактором его успеха. Без этого контекста невозможно создать по-настоящему полезную автоматизацию.
5. Развитие ИТ неизбежно и ведет к росту спроса на аналитиков. Рост интернет-аудитории и проникновение технологий во все сферы жизни требуют создания все более удобных и сложных приложений, что невозможно без глубокого анализа потребностей пользователей.
Показывать лекцию целиком
Краткое изложение

Здравствуйте, уважаемые слушатели!

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

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

Итак, давайте знакомиться. Меня зовут Иван Никитин. Уже более 15 лет я работаю в сфере информационных технологий. За время работы мне посчастливилось побывать в ролях администратора, сотрудника службы поддержки, бизнес-аналитика, системного аналитика, аналитика-разработчика, разработчика, руководителя направления системного анализа и технического проектирования, руководителя группы разработки, архитектора решения, консультанта и преподавателя. Каждый раз, находясь в определенной роли, я участвовал в создании разных информационных систем. Я по-разному смотрел на создаваемый продукт, и теперь пытаюсь осмысливать свой опыт в виде учебных курсов по анализу, проектированию и менеджменту в сфере информационных технологий. Именно поэтому я рассчитываю на то, что материал, представленный в этом курсе, поможет вам развиваться в области анализа требований при создании информационных систем.

В этом курсе мы ознакомимся с деятельностью по анализу требований, разберемся с тем, когда, в каких условиях, в каком виде, для чего использовать требования и какими они должны быть, чтобы принести максимальную пользу при создании эффективных продуктов. Анализ – это лишь одна сторона медали. Сам по себе это деструктивный вид работ, направленный на то, чтобы разобрать что-то большое на части. Но для того, чтобы создать что-то полезное и ценное, необходимо затронуть и деятельность по проектированию – это когда мы из подготовленных разобранных частей собираем единое и функционирующее целое. И об этом мы тоже обязательно будем говорить. Анализ в сфере разработки информационных систем бывает разным: бизнес-анализ, системный анализ, продуктовый анализ, анализ данных. И все виды этого анализа необходимо применять – какой-то больше, какой-то меньше, в зависимости от специфики решаемой задачи. Мы поговорим о разных видах анализа и разберемся с тем, в каких случаях каждый из них стоит применять. Далее мы порассуждаем об инженерии требований, то есть о том, что должно происходить с требованием с момента его возникновения до того момента, когда оно будет реализовано в виде конкретной части функционирующей информационной системы, приносящей пользу. В завершении курса мы поговорим о архитектурных шаблонах проектирования. Это важная и сложная тема для работы аналитика информационных систем. Архитектурные шаблоны проектирования позволяют задать рамки анализа требований и сфокусироваться на добыче нужной информации для решения конкретной проблемы или задачи. Все эти темы мы обязательно подробно разберем.

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

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

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

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

А теперь немного статистических выкладок. На экране представлены данные аналитического исследования, проведенного группой ГФК. Эта статистика показывает динамику проникновения Интернета в России.  Исследование проводилось с 2008 года. Оно демонстрирует, как возрастала аудитория русскоязычного Интернета и к чему мы пришли к 2018 году. Да, к сожалению, тренда за последние три года нет. Свои коррективы внесли глобальные проблемы, но можно констатировать, что и сегодня этот тренд продолжает расти. Люди в России все больше и больше осваивают Интернет, используют его сервисы для своей работы, досуга, учебы, стремятся развиваться и получать новую информацию. 

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

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

С появления первых крупных изобретений, которые начали менять окружающую действительность, прошло уже много времени. От создания печатающей машины до изобретения телескопа прошло 200 лет, а затем динамика изобретений начала усиливаться. Прошло еще 150 лет – и был изобретен паровой двигатель, еще через 50 лет изобрели телеграф и так далее. И теперь, в современном мире, важные изобретения, которые автоматизируют работу и меняют качество нашей жизни, появляются раз в несколько лет или даже чаще.

Что же будет дальше? К чему мы придем в ближайшем будущем, что нас ждет?  Одно я могу сказать абсолютно точно: как все будет, не знает никто. Но в этом есть и немного позитива. Люди, работая в разных областях деятельности, все время пытаются заглядывать вперед и строить прогнозы. А прогнозы, как мы знаем, – дело неблагодарное, они строятся на текущим понимании ситуации и данных, но каждый следующий шаг многовариативен. К тому же прогноз представляет собой только какое-то одно направление развития, не более. Чтобы посмотреть на множество других вариантов, можно обратиться к фантастической литературе, представляющей собой концентрированное и наиболее яркое описание возможных путей развития. Фантастика стала родом прогнозной деятельности, и, чтобы наиболее полно ориентироваться в возможных вариантах развития текущей ситуации, можно начать читать Айзека Азимова, Пола Андерсона, Филиппа Дика и других авторов. С другой стороны, неоспоримым фактом является то, что Интернет будет становиться все более и более важным фактором развития и автоматизация и информатизация общества будут фокусировать человечество и устанавливать приоритеты развития.

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

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

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


Приложения

Презентация 1.1
Лекция начинается со знакомства с лектором, Иваном Никитиным, который, имея опыт в разнообразных ИТ-ролях (от администратора до архитектора), будет делиться практическим видением анализа требований.

Цель курса — познакомить слушателей с деятельностью по анализу требований: когда, зачем и как их использовать для создания эффективных продуктов. Лектор подчеркивает, что в курсе будут затронуты два ключевых процесса:
• Анализ (разбор большого на части).
• Проектирование (синтез) (сборка целого из частей).
Также будет рассмотрена инженерия требований (жизненный цикл требования от идеи до реализации) и архитектурные шаблоны, которые помогают структурировать работу аналитика.

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

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

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

Выводы

1. Успех информационной системы напрямую зависит от качества проведенного анализа требований.
2. Аналитик должен не только уметь «разбирать» (анализировать), но и понимать принципы «сборки» (проектирования), чтобы его работа приносила конкретную ценность.
3. Профессия аналитика является одной из ключевых в современной ИТ-индустрии, поскольку именно он является проводником между потребностями пользователей/бизнеса и технической реализацией.
4. Текущий курс ставит целью дать системное понимание процессов анализа, не углубляясь в смежные управленческие или излишне технические детали, чтобы сохранить фокус на основной теме.

Вопросы для самопроверки

1. Какие две основные деятельности (процесса) в работе над требованиями выделяет лектор и в чем заключается их разница?
2. Почему понимание «контекста использования» системы является ключевым фактором для создания успешного продукта?
3. Какие ограничения (рамки) ставит перед собой автор данного курса? О чем в нем не будет подробно рассказываться?
4. Какой статистический аргумент приводится в лекции для обоснования растущей важности анализа требований?
5. Какой вклад, по мнению автора, может внести чтение фантастической литературы в профессиональное развитие аналитика?
Вернуться к учебному плану