Основы бизнес-аналитики и науки о данных

Методологии разработки продуктов

Рассматривается эволюция команд разработки программного обеспечения: от модели Брукса с десятью ролями до иерархических структур крупных корпораций. Подробно разбираются ключевые роли создания продукта — от владельца продукта до бизнес-аналитика. Основное внимание уделено методологиям разработки: каскадной, инкрементной, итеративной и гибкой (Agile, Scrum). Проводится их сравнение по целям, качеству, рискам, процессам и управлению. На основе статистики анализируются причины неудач и факторы успеха ИТ-проектов. Логика изложения ведёт от состава команды к выбору подхода, а затем к определению места бизнес-аналитика в жизненном цикле

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

В результате изучения лекции слушатель будет способен:
1. Описать модель команды по Бруксу и распределение ролей в ней.
2. Сравнить организационные структуры команд на разных стадиях развития компании.
3. Классифицировать роли участников создания продукта (владелец продукта, менеджер продукта, бизнес-аналитик и др.) по их функциям.
4. Объяснить различия между каскадной, инкрементной, итеративной и гибкой методологиями разработки.
5. Выделить преимущества и недостатки водопадного подхода и Agile.
6. Охарактеризовать цикл PDCA, ценности и принципы Agile, элементы Scrum.
7. Сопоставить подходы по таким аспектам, как целеполагание, оценка затрат, управление рисками, обратная связь, отчётность.
8. Интерпретировать график сгорания задач и типовую схему развёртывания.
9. Анализировать влияние размера проекта на вероятность успеха при разных методологиях.
10. Определять ключевые причины неудач ИТ-проектов и факторы, способствующие успеху.
11. Обосновать важность роли бизнес-аналитика на этапе выявления и анализа требований.
Показывать лекцию целиком
Краткое изложение

Модель команды и эволюция структур

Исторически одна из первых формальных моделей команды разработки описана Фредериком Бруксом. Бригада по Бруксу состоит из 10 ролей: хирург (главный разработчик), администратор, секретарь, редактор-секретарь, второй пилот, делопроизводитель, инструментальщик, отладчик и языковед. Эти названия условны и задают общий подход к разделению труда, не привязанный к одной предметной области.

С ростом организации команда эволюционирует.

• В небольшом стартапе (как в сериале «Кремниевая долина») может быть всего несколько человек: основатель, два-три разработчика, финансовый директор и инвестор. Появляются роли Team Lead (административный лидер) и Tech Lead (технический лидер). Разработчики группируются по специализациям — бэкенд, фронтенд, дизайн, инженерия.
• Если компания ведёт много проектов, для каждого подмножества технических сотрудников назначается свой лидер. Количество технических команд растёт, компоненты могут дробиться для независимой разработки и более детального контроля.
• На корпоративном уровне выстраивается иерархия: Совет директоров, генеральный директор (CEO), под ним — финансовый директор (CFO), исполнительный директор (COO), технический директор (CTO), далее руководители направлений и регионов. Организационная структура (например, Microsoft) может быть чрезвычайно сложной.

Роли в создании продукта

Для планирования и контроля выделяются:
• Владелец продукта (Product Owner, PO) — формирует бизнес-цели и стратегию.
• Менеджер продукта (Product Manager, PM) — руководит продуктом и ведёт дорожную карту (Roadmap).
• Руководитель проекта (Project Manager, PM) — планирует релизы и контролирует их исполнение.
• Технический лидер (Tech Lead) — оценивает осуществимость и выбирает технологии.

Непосредственная разработка требует следующих ролей:
• Бизнес-аналитик (Business Analyst, BA) — выявление, анализ и описание требований.
• UX-дизайнеры — проектирование пользовательского взаимодействия.
• Системные архитекторы — разработка архитектуры.
• Бэкенд-разработчики (Backend Developers) — серверная часть.
• Фронтенд-разработчики (Frontend Developers) — клиентская часть.
• Тестировщики (QA-инженеры) — поиск и фиксация багов.
• IT-инженеры — техническая поддержка всей инфраструктуры.

Сферы деятельности IT охватывают безопасность, разработку, администрирование баз данных, обслуживание, внедрение корпоративного ПО. Информационные технологии стали неотъемлемой частью практически любой компании.

Методологии разработки

Каскадная (водопадная) модель

При каскадной модели (Waterfall) фазы идут строго последовательно: требования → дизайн → разработка → тестирование → развёртывание → эксплуатация. Переход к следующей фазе возможен только после полного завершения предыдущей.

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

В этой модели бизнес-аналитик вместе с UX-дизайнерами и архитекторами закрывает первую стадию — формирование функциональных и технических требований. Позже роль бизнес-аналитика выделилась в самостоятельную.

Инкрементная и итеративная разработка

Инкрементная разработка (Incremental development) предполагает выпуск базовой версии продукта с последующим наращиванием функционала. На момент первого релиза архитектура закладывается сразу под всю систему, но часть функциональных элементов может отсутствовать. Каждый новый инкремент планируется, разрабатывается, тестируется и развёртывается.

Итеративная разработка (Iterative development) — создание рабочего прототипа и его последовательное улучшение итерациями. В отличие от инкрементной, здесь каждый компонент может прорабатываться отдельно, и заказчик активно участвует в процессе. Это повышает вероятность получить именно тот продукт, который нужен, но интеграция разрозненных компонентов в единый комплекс может обойтись дорого и выявить множество непредусмотренных проблем.

Разновидности итеративной модели:
• Спиральная модель (Spiral model) — акцент на анализ рисков на каждом витке.
• Быстрая разработка приложений (Rapid Application Development, RAD) — параллельная работа над итерациями с последующей интеграцией в прототип.

Метафора: водопад подобен автобусу — вы платите один раз и едете по фиксированному маршруту, но можете приехать не к тому дому. Итеративный подход — такси: каждая корректировка маршрута оплачивается отдельно, зато вы попадаете точно по адресу.

Гибкая разработка (Agile) и Scrum

Agile — итеративная разработка короткими итерациями. Ценности, зафиксированные в Agile Manifesto: люди и взаимодействие важнее процессов и инструментов; работающий продукт важнее документации; сотрудничество с заказчиком важнее контракта; готовность к изменениям важнее следования плану. Принципы: удовлетворение заказчика, открытость к изменениям требований, частая поставка работающего ПО, личное общение, постоянный ритм итераций, самоорганизация команд.

Scrum — один из фреймворков Agile. Владелец продукта формирует бэклог продукта (Product Backlog). На планировании спринта отбираются задачи в бэклог спринта (Sprint Backlog). Спринт (Sprint) — итерация длительностью от 1 до 4 недель, в течение которой команда реализует выбранный функционал. Ежедневно проводятся короткие встречи — стендапы (Daily Scrum). В конце спринта скрам-мастер (Scrum Master) организует демонстрацию готовой функциональности и ретроспективу (Sprint Retrospective) для улучшения процесса.

Основная сложность Scrum: изменение одного модуля может блокировать работу над взаимосвязанными модулями или ломать ранее сделанное, но эти проблемы решаются внутри фреймворка.

Сравнительный анализ подходов

Целеполагание

• Waterfall: цели определяются для каждой фазы.
• Итеративный: цели ставятся на итерацию, в неё попадают только проработанные фичи.
• Agile: команда сама определяет объём спринта исходя из приоритетов и ресурсов; цель спринта — готовая к показу фича.

Проектирование и объём работ

• Waterfall: объём всего проекта фиксируется PO, все фичи прорабатываются до программирования.
• Итеративный: объём итерации определяется PM и согласуется с PO.
• Agile: объём определяется командой; в спринт попадает то, что не будет изменено и может быть сделано за время спринта.

Оценка затрат

• Waterfall: PM даёт оценку для всего проекта и согласует с PO.
• Итеративный: PM оценивает каждую итерацию.
• Agile: команда оценивает задачи на митинге со скрам-мастером, оценка может пересматриваться.

График работ

• Waterfall: план по фазам.
• Итеративный: план по итерациям.
• Agile: план по спринтам; используется диаграмма сгорания задач (Burndown Chart) для визуализации прогресса.

Качество

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

Учёт рисков

• Waterfall: риски почти не отслеживаются до фазы тестирования; проблемы тушат по факту.
• Итеративный: риски выявляются и учитываются в следующих итерациях.
• Agile: риски максимально высоки, идентифицируются и учитываются в следующих спринтах; стоимость реализации рисков выше, чем в других подходах.

Обратная связь

• Waterfall: после завершения проекта.
• Итеративный: после каждого релиза.
• Agile: после каждого спринта.

Процессы

• Waterfall: последовательное выполнение фаз.
• Итеративный: проектирование, разработка и тестирование ведутся с перекрытием.
• Agile: мини-команды работают над фичами, выполняя весь жизненный цикл.

Распределение ролей и назначение задач

• Waterfall и итеративный: роли чётко заданы; задачи назначает PM, он и отвечает за реализацию (в итеративной модели — за итерацию).
• Agile: каждый может работать над любой фазой задачи; команда в целом отвечает за спринт, участники сами выбирают задачи.

Отчётность и совещания

• Waterfall и итеративный: еженедельные (иногда ежедневные) отчёты о проценте выполнения.
• Agile: ежедневные стендапы («что сделано, что планируется, какие проблемы»), контроль через burndown chart.

Схема развёртывания
Типичный процесс: тестирование на тестовом контуре → дорелизный стенд → продакшн. При обнаружении проблем выпускается патч, который проходит тот же цикл проверки.

Статистика успешности проектов

Данные за 2011–2015 гг. показывают: 29% проектов успешны, 52% — с проблемами, 19% — неудачны. Чем крупнее проект, тем ниже вероятность успеха. Для огромных проектов успех составляет лишь 2%, для больших — 6%. На мелких проектах итеративный подход практически сравнивается по эффективности с водопадным. Agile на больших проектах демонстрирует 18% успешных против 3% у водопада, но на мелких разница сокращается.

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

Факторы успеха: поддержка руководства, вовлечённость пользователей, грамотные бизнес-процессы, компетентность команды, качественное управление проектом, навыки Agile, ясные цели, зрелость команды, инструменты и инфраструктура.

Роль бизнес-аналитика

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

Краткие итоги

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

Разнообразие методологических подходов — от жёсткого водопада до гибкого Agile — предоставляет инструментарий для балансирования между стабильностью и адаптивностью. Каскадная модель даёт предсказуемость бюджета и сроков, но плата за это — низкая толерантность к изменениям и высокие риски получить результат, не отвечающий реальным потребностям. Инкрементные и итеративные стратегии позволяют последовательно уточнять продукт, однако увеличивают затраты на интеграцию и управление рисками. Гибкие фреймворки, такие как Scrum, делают ставку на самоорганизацию, непрерывную обратную связь и ценность человеческого взаимодействия, что особенно выигрышно в среде с высокой неопределённостью, но требует зрелой команды и вовлечённого заказчика.

Сравнительный анализ целей, качества, рисков, процессов и управления показывает, что не существует универсального «лучшего» подхода. Выбор методологии должен опираться на размер проекта, стабильность требований, квалификацию участников и готовность организации к частым итерациям. Статистика проектов подтверждает: большие проекты несут повышенные риски, и ключевыми драйверами неудач становятся именно «мягкие» факторы — плохо определённые требования, коммуникационные провалы, слабая поддержка руководства. Напротив, успех базируется на ясных целях, компетентности команды, вовлечённости пользователей и продуманных бизнес-процессах.

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

Базовая модель команды разработки — бригада по Бруксу из 10 ролей: хирург (главный разработчик), администратор, секретарь, редактор-секретарь, второй пилот, делопроизводитель, инструментальщик, отладчик, языковед. Это универсальный каркас разделения труда.

С ростом организации структура усложняется:
• Стартап: несколько разработчиков, появляются Team Lead и Tech Lead.
• Много проектов: для каждой технической группы назначается лидер, команды дробятся для независимой разработки.
• Крупная корпорация: Совет директоров, CEO, CFO, COO, CTO, руководители направлений.

Роли в создании продукта

• Product Owner (PO) — бизнес-цели и стратегия.
• Product Manager (PM) — дорожная карта (Roadmap).
• Project Manager (PM) — планирование релизов и контроль.
• Tech Lead — оценка осуществимости, технологии.
• Бизнес-аналитик (BA) — выявление, анализ, описание требований.
• UX-дизайнеры — пользовательское взаимодействие.
• Системные архитекторы — архитектура.
• Backend/Frontend разработчики — серверная и клиентская части.
• QA-инженеры — тестирование.
• IT-инженеры — техническая поддержка.

Методологии разработки

Каскадная (Waterfall) — строго последовательные фазы: требования → дизайн → разработка → тестирование → развёртывание → эксплуатация. Переход только после завершения предыдущей. Плюсы: фиксированные сроки и бюджет, простое управление. Минусы: невозможность изменений, огромная цена правок.

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

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

Scrum — фреймворк Agile. Роли: Product Owner, Scrum Master, команда. Процесс: Product Backlog → планирование спринта → Sprint Backlog → спринт (1–4 недели) → ежедневные стендапы → демонстрация → ретроспектива.

Сравнение подходов

• Цели: Waterfall — по фазам; итеративный — на итерацию; Agile — команда задаёт цели спринта.
• Оценка затрат: Waterfall — фиксированная смета всего проекта; итеративный — оценка итерации PM; Agile — команда оценивает и может пересматривать.
• График: Waterfall — фазы; итеративный — итерации; Agile — спринты с burndown chart.
• Качество: Waterfall — тестирование в конце, риск несовпадения с ожиданиями; итеративный — фокус на разработку и тестирование внутри итерации; Agile — тестирование внутри спринта на всём цикле.
• Риски: Waterfall — тушение пожаров на тестировании; итеративный — учёт в следующих итерациях; Agile — непрерывный учёт, но цена ошибки максимальна.
• Обратная связь: Waterfall — после проекта; итеративный — после релиза; Agile — после каждого спринта.
• Процессы: Waterfall — последовательные; итеративный — с перекрытием; Agile — мини-команды на весь цикл.
• Роли и задачи: Waterfall/итеративный — PM назначает задачи и отвечает; Agile — команда сама разбирает задачи и отвечает за спринт.
• Отчётность: Waterfall/итеративный — процент выполнения; Agile — стендапы и burndown.
• Развёртывание: тестовый контур → дорелиз → продакшн, патчи проходят тот же путь.

Статистика и факторы успеха

29% проектов успешны, 52% проблемны, 19% провальны. Успех падает с ростом размера: огромные проекты — 2% успеха. Agile на больших проектах показывает 18% успеха против 3% у водопада.

Главные причины неудач: изменение объёма, плохие требования, нереальные сроки, проблемы коммуникаций, непонимание заказчика, слабая поддержка руководства, недостаточное тестирование. Факторы успеха: поддержка руководства, вовлечённость пользователей, продуманные бизнес-процессы, компетентность команды, управление проектом, навыки Agile, ясные цели, зрелость команды, инструменты.

Роль бизнес-аналитика

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

Выводы

1. Модель Брукса закладывает базовое разделение труда в команде из десяти ролей и служит отправной точкой для более сложных структур.
2. С ростом организации команда усложняется: от стартапа с Team Lead и Tech Lead до корпоративной иерархии с CEO, CFO, CTO.
3. В создании продукта критически важны роли Product Owner (стратегия), Product Manager (дорожная карта), Project Manager (контроль релизов) и бизнес-аналитик (требования).
4. Каскадная модель даёт фиксированные сроки и бюджет, но не допускает изменений и создаёт риск несоответствия результата ожиданиям.
5. Инкрементная разработка строит продукт с неполным функционалом, постепенно дорабатывая компоненты; итеративная — создаёт прототипы с активным участием заказчика.
6. Agile ставит во главу людей, работающий продукт, сотрудничество с заказчиком и готовность к изменениям.
7. Scrum организует работу короткими спринтами: бэклог продукта, бэклог спринта, ежедневные стендапы, ретроспектива.
8. Сравнение методологий показывает: чем выше гибкость, тем дороже управление рисками и изменениями; водопад дёшев в управлении, но неадаптивен.
9. Учёт рисков в Agile ведётся непрерывно, но цена реализации рисков максимальна; в водопаде риски «тушат» на финальных стадиях.
10. Статистика доказывает: большие проекты чаще проваливаются; ключевые причины неудач — плохие требования, нереальные сроки, проблемы коммуникаций.
11. Факторы успеха: поддержка руководства, вовлечённость пользователей, компетентность команды, зрелость процессов и ясные цели.
12. Бизнес-аналитик обеспечивает формализацию потребностей заказчика и повышает качество требований, что критично для успеха любого проекта.

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

1. Какие роли входят в модель команды по Бруксу?
2. Чем различаются функции Team Lead и Tech Lead в стартапе?
3. Как трансформируется структура команды при переходе от одного проекта компании к множеству проектов?
4. Каковы обязанности Product Owner, Product Manager и Project Manager?
5. В чём принципиальное отличие каскадной модели от инкрементной?
6. Как инкрементная разработка соотносится с итеративной? Приведите различия.
7. Какие разновидности итеративной модели упоминаются, и в чём их особенности?
8. Перечислите ценности и принципы Agile, зафиксированные в манифесте.
9. Из каких элементов состоит фреймворк Scrum и какова длительность спринта?
10. Как отличаются подходы к оценке затрат и управлению рисками в водопаде, итеративной модели и Agile?
11. Какие причины чаще всего приводят к провалу ИТ-проектов?
12. Почему бизнес-аналитик считается ключевой фигурой на начальных стадиях разработки?
Вернуться к учебному плану