SlideShare a Scribd company logo
Как выбрать для проекта
практики проектирования
и работы с требованиями
Максим Цепков
Главный архитектор дирекции развития решений
Москва, 21–22 апреля 2017
Analyst Days
И собрать из них целостный метод
Что такое «требования»: два ответа
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
На V-диаграмме (Wikipedia)
требования – внешние
функции системы
Я буду говорить
о требованиях в широком
понимании OMG Essence
Concept Maintenance
2/35
 Когда-то давно проектирование считалось
искусством – как стиль художника
 Потом начали верить в правильный метод,
который знают гуру
 И когда Rational собрал трех методологов, Гради Буча,
Ивара Якобсона и Джеймса Рамбо, у этой веры даже
появились основания – родился UML. Но не случилось
 Потом пришло многообразие легких методов:
проекты разные, и делать их надо по-разному
Надо ли собирать метод?
3/35
Big Picture развития методов
Эпоха НИОКР: делаем правильную систему
Время
Способ
работы
«Новое время»
 Удовлетворенность стейкхолдеров
 Достижение бизнес-целей продукта
Эпоха RUP: делаем систему правильно
Время Scrum: движемся к цели
1960 1990 2005 2013
Подробности – в докладах «Развитие критериев качества и управления
проектами» на AgileDays – 2015 и «Ответственность за качество в разных ИТ-
проектах» на SQA Days – 20
4/35
 Я не буду делать обзор методов –
о каждом можно прочитать
 Я расскажу о вопросах, с помощью которых
можно выбрать метод или собрать свой
 Речь пойдет о работе с требованиями,
а бизнес-анализ, проектирование и смежные
области будут только затрагиваться
О чем будет доклад
Метод для работы с требованиями
правильно собирать аналитикам:
каждый сам кузнец своего счастья 
5/35
 Как определяем границы проекта?
 Как декомпозируем и инкрементально
развиваем?
 Как обеспечиваем качество?
 Как организуем артефакты?
 OMG Essence – способ описать метод
План рассказа
6/35
Как определяем
границы проекта?
7/35
V-модель как карта проекта
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
Maintenance
V-Model (Wikipedia)
Пользователи
Needs and
Opportunities
Concept Maintenance
Delivery
Заказчик
ИТ-система
Concept
8/35
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
ИТ-система
Что является целью проекта?
Удовлетворить
потребности
пользователей
Пользователи
Фокус с автоматизации известного на удовлетворение
потребностей пользователей сместился примерно в 2010
Needs and
Opportunities
Delivery
Concept
Автоматизировать
известный процесс
9/35
Requirements
and
Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
ИТ-система
Уровни требований на V-модели
Фича как часть
конструкции
Фича как ценность
для пользователей
Пользователи
Архитектор
TechLead
UI designer
Usability-
специалист
Системный
аналитик
UX-
специалист Needs and
Opportunities Delivery
По мере развития IT уровень требований по V-диаграмме
повышался и возникали новые специализации аналитиков
Бизнес-
аналитик
Фича как функция системы
10/35
IT-проект внутри бизнес-проекта?
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
ИТ-система
Бизнес-проект
Needs and
Opportunities Delivery
Needs and
Opportunities
Delivery
11/35
Или IT и бизнес делают совместный
проект?
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
В современных проектах граница между IT-частью проекта и изменением
бизнеса подвижна и меняется в ходе проекта, а диджитализация
означает, что проект будет единым, а IT-часть – главной!
Needs and
Opportunities
Delivery
12/35
 Исходные данные для проекта – потребности
пользователей или внешние функции?
 Насколько жестко надо фиксировать внешний
контур проекта и трассировать к нему решения?
 Какие используем форматы: user story, use case,
описания фич, классические требования?
Требования и потребности – внешний
контур проекта
Это зависит от стейкхолдеров, заказывающих
проект, – как они видят границы и их описание?
13/35
 Первоначально требования описывали функции
системы и систему как целое
 Выяснилось, что сделанные так системы
оказываются неудобны или непригодны в работе
 Use case – описание, как пользователь будет
применять систему для решения своих задач
 User story – фиксируем, зачем пользователь
решает задачи, применяя систему
Выйти за границу – представить
себя на месте пользователя
В процессе разработки принимается много решений,
требующих представить себя на месте пользователя
Функции
Сценарии
Цели
14/35
Как декомпозируем
и инкрементально развиваем?
15/35
 Каждая система имеет деление
 На компоненты – по внешним функциям
 На модули – по ячейкам внутренней конструкции
В общем случае они связаны произвольно
 Развитие системы дискретно
 Инкременты поставок очередных версий
 Инкременты разработки, передаваемой в тестирование
 Если деление мелкое, надо удерживать
целостность системы
Компоненты, модули и их приращения
Из курса
Левенчука,
он ссылается
на ISO 81346
Существует много вариантов организации системы
из составных частей. Метод работы с требованиями должен
соответствовать способу декомпозиции
16/35
 Инкрементальная поставка требует создания
бизнес-ценного функционала
 Формат User story формулирует малый
функционал, ценный пользователю
 Use case больше, и его сценарии имеют
разную ценность – делим case на slice
 Можно описывать приращения в терминах
доработки конструктивных элементов системы,
ее фич, функций или сервисов
Инкрементальная поставка
Ивар
Якобсон
Use Case 2.0
17/35
 Детализация до мелких фрагментов выполняется
не сразу – каковы крупные фрагменты?
 Соответствуют ли крупные фрагменты наборам
поставляемого функционала или поставки
формируются отдельно?
 На каких уровнях детализации и как оцениваем?
 Как организуем пакеты поставки из набора
функционала?
 Как выделяем MVP?
 Как используем приоритеты?
 Как удовлетворяем интересы групп пользователей?
Инкрементальная детализация
Вариант – практика
Story Mapping
18/35
 Что является поставляемым приложением?
 Монолит, прирастающий по объему
 Крупные модули
 Мелкие сервисы или модули
 Что является ячейками приложения?
 Процедуры, таблицы и формы UI
 Объекты (данные плюс методы в одном флаконе)
 Модули с собственной моделью декомпозиции и др.
 Применяется ли слоевое деление и какое?
 Как интегрируются модули и мелкие ячейки?
Какова структура приложения?
Модуль – развиваем,
а сервис – заменяем новым
19/35
Основа структуры приложения
МетодыДанные
UI
Николай Вирт
«Алгоритмы + структуры
данных = программы»
1976 (на русском 1985)
Интерфейс
Бизнес-логика
База данных
20/35
Варианты структуры
БЛDB
UI БЛ
DB
UI
БЛ
DB
БЛ
DB
БЛ
UI
DB
БЛ
UI
БЛ
UI
БЛ
DB
БЛ
DB
БЛ
DB
UIUI UI
Единое
приложение
Единая база
данных
Единый
портал
Единый
протокол
интеграции
А какая структура у вас?
21/35
 Концепция системы – цели создания
и верхнеуровневые полагания
 Метафора системы – эффективная
практика XP, если ее получается придумать
 Я говорил о метафоре в докладе «Модель системы – архитектура
для Agile-разработки» на AgileDays – 2011
 Архитектура системы – основа конструкции
 Модель системы – постепенно создаваемая
и принципиальная конструкция системы
 Подход Domain Driven Design (DDD) адаптировал использование
модели для инкрементальной поставки (мои доклады по DDD)
Удержание целостности системы UI
DB
БЛ ??
22/35
Как обеспечиваем качество?
23/35
 Инкремент поставки развивает функции, изменяя
для этого ячейки конструкции
 Чтобы влияние изменений было локальным, ячейки
должны быть изолированными
 ООП, микросервисы и многое другое придумывали
для этого, но гарантий независимости нет
 В ООП ее нарушают обращение по цепочкам ссылок, есть хороший
доклад Андрея Бибичева на AgileDays – 2011 «Архитектура в Agile –
переосмысляя идею модульности и компонентности»
 Независимость микросервисов нарушает синхронное взаимодействие
 Какие практики будете использовать вы?
Ограниченность изменений
24/35
Практики тестирования
Requirements
and Architecture
Detailed
Design
Implementation
Integration
and Test
System
Verification
Пользователи
Needs and
Opportunities DeliveryBDD
TDD
Continuous
Integration
Continuous
Delivery
Автотесты
Тест-кейсы –
часть требований!
25/35
 Уровень тест-кейсов не может быть выше
уровня требований – нет смысла делать
BDD, если нужды пользователей неясны
 Уровень формальности требований
должен соответствовать формальности
тестов: автотесты требуют строгости
 Надо контролировать стоимость ведения
и проверки тест-кейсов
Ведение требований должно
соответствовать подходу к тестированию
26/35
Как организуем артефакты?
27/35
 Используем средство моделирования
(EA и другие) или диаграммы
«в вольном стиле»?
 Какие wiki-системы и другие
средства коллективной работы используем?
 Как структурируем артефакты?
 Через какие viewpoint представляем систему?
 Какой набор диаграмм используем?
Артефакты и диаграммы
MS Word не является
эффективным средством
коллективной работы
На SECR – 2016 был рассказ Павла Музыки об опыте CUSTIS «Собираем кубик
Рубика: восстановление архитектурного описания корпоративной
распределенной системы»
28/35
 Артефакт – средство коммуникации
 С заказчиком и разработчиками в ходе проекта
 С будущими пользователями системы
 С теми, кто будет развивать и эксплуатировать –
даже если это ты сам, но через полгода
 Артефакт должен быть понятен всем
сторонам коммуникации
 Это ограничивает сложность нотаций
 Упрощенные схемы должны сохранять
ключевые моменты
Принципы работы с артефактами
29/35
 Эксплуатация добавляет фокусы
 Стоимости функционирования бизнес-процессов и поддержки
 Быстрой и эффективной обработки инцидентов
 Сохраняется фокус развития системы
 Автоматизация вспомогательных и побочных процессов
 Реализация специальных процессов для конкретных целевых
групп пользователей
 Крупные доработки основного процесса
 Все это требует изменений в практиках
и артефактах ведения требований
От внедрения к эксплуатации
Их надо спроектировать и реализовать, тем более
что на внедрении артефакты обычно отстают от системы
30/35
OMG Essence –
способ описать метод
Потому что процессное описание в IT
не работает – помни историю RUP
Источники: Спецификация на сайте OMG и библиотека практик
на сайте Ивара Якобсона (требуется регистрация)
31/35
Требования и возможности в Essence
Req
Conceived
Bounded
Coherent
Acceptable
Addressed
Fulfilled
Opportunity
Identified
Solution
Needed
Value
Established
Viable
Addressed
Benefit
Accrued
Обнаружены
коммерческие
или социальные
возможности
Необходимо
IT-решение
Согласована
потребность
в IT-решении
Определена
ценность решения
Ясно назначение
и область системы
Описаны основные
характеристики
Описание принято
стейкхолдерами
Вольный
перевод!
Сроки и стоимость
решения приемлемы
Значительная
часть требований
удовлетворена
Демонстрируется,
что решение
доставляет ценность
Требования
удовлетвореныОжидаемый эффект
достигается
32/35
Требования – декомпозиция
Req
Conceived
Bounded
Coherent
Acceptable
Addressed
Fulfilled
Req Item
Identified
Described
Implemented
Verified
Product
backlog
User story
Described
Understood
Implemented
Fulfilled
Story
Card
Req Item
Understand
the Reqs
Shape
the System
Implement
the System
Test
the System
Write
Prioritize
Estimate
33/35
User story и Use case
Req Item
Identified
Described
Implemented
Verified
User story
Described
Understood
Implemented
Fulfilled
Use case
Goal Established
Story Structure
Understood
Simplest Story
Fulfilled
Sufficient Stories
Fulfilled
All Stories
Fulfilled
Use case
slice
Implemented
Verified
Analyzed
Prepared
Scored
Req
34/35
 Каждая ИТ-разработка идет в своих условиях
 Требования определяют внешние границы проекта
и создаваемую конструкцию
 Способ работы с требованиями в проекте сам
по себе – объект конструирования и воплощения
Подводя итоги
Вакансии аналитиков
Пишите на hr@custis.ru, подходите с вопросами
Максим Цепков
mtsepkov.org

More Related Content

What's hot

Оценка трудозатрат аналитика: практика применения
Оценка трудозатрат аналитика: практика примененияОценка трудозатрат аналитика: практика применения
Оценка трудозатрат аналитика: практика применения
SQALab
 
Управление виртуальной командой аналитиков
Управление виртуальной командой аналитиковУправление виртуальной командой аналитиков
Управление виртуальной командой аналитиков
SQALab
 
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектуры
SQALab
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструменты
SQALab
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версий
SQALab
 
Путь Jama для управления требованиями
Путь Jama для управления требованиямиПуть Jama для управления требованиями
Путь Jama для управления требованиями
SQALab
 
Все грани рецензирования требований
Все грани рецензирования требованийВсе грани рецензирования требований
Все грани рецензирования требований
SQALab
 
Обучение аналитиков - методы и программы
Обучение аналитиков - методы и программыОбучение аналитиков - методы и программы
Обучение аналитиков - методы и программы
SQALab
 
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
SQALab
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономии
SQALab
 
Analyst Days 2014
Analyst Days 2014Analyst Days 2014
Analyst Days 2014
Natalia Zhelnova
 
Социальная сеть для бизнес-анализа внутри компании
Социальная сеть для бизнес-анализа внутри компанииСоциальная сеть для бизнес-анализа внутри компании
Социальная сеть для бизнес-анализа внутри компании
SQALab
 
Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFO
SQALab
 
практика управления требованиями
практика управления требованиямипрактика управления требованиями
практика управления требованиямиISsoft
 
Отделяем зёрна от плевел: работа с заявками на развитие функционала
Отделяем зёрна от плевел: работа с заявками на развитие функционалаОтделяем зёрна от плевел: работа с заявками на развитие функционала
Отделяем зёрна от плевел: работа с заявками на развитие функционала
SQALab
 
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
SQALab
 
Кодекс аналитика
Кодекс аналитикаКодекс аналитика
Кодекс аналитика
SQALab
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное просто
SQALab
 
Управление требованиями VS Разработка требований. Принципы и инструменты
Управление требованиями VS Разработка требований. Принципы и инструментыУправление требованиями VS Разработка требований. Принципы и инструменты
Управление требованиями VS Разработка требований. Принципы и инструменты
SQALab
 
Цифровая трансформация глазами Бизнес-аналитика
Цифровая трансформация глазами Бизнес-аналитикаЦифровая трансформация глазами Бизнес-аналитика
Цифровая трансформация глазами Бизнес-аналитика
SQALab
 

What's hot (20)

Оценка трудозатрат аналитика: практика применения
Оценка трудозатрат аналитика: практика примененияОценка трудозатрат аналитика: практика применения
Оценка трудозатрат аналитика: практика применения
 
Управление виртуальной командой аналитиков
Управление виртуальной командой аналитиковУправление виртуальной командой аналитиков
Управление виртуальной командой аналитиков
 
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектуры
 
Моделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструментыМоделирование бизнес-процессов: методы и инструменты
Моделирование бизнес-процессов: методы и инструменты
 
Как аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версийКак аналитик может помочь в планировании выпуска версий
Как аналитик может помочь в планировании выпуска версий
 
Путь Jama для управления требованиями
Путь Jama для управления требованиямиПуть Jama для управления требованиями
Путь Jama для управления требованиями
 
Все грани рецензирования требований
Все грани рецензирования требованийВсе грани рецензирования требований
Все грани рецензирования требований
 
Обучение аналитиков - методы и программы
Обучение аналитиков - методы и программыОбучение аналитиков - методы и программы
Обучение аналитиков - методы и программы
 
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
Секрет фирмы: как устроен отдел системного бизнес-анализа в одной большой e-c...
 
Коммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономииКоммуникация при различной структуре мышления - таксономия против фолксономии
Коммуникация при различной структуре мышления - таксономия против фолксономии
 
Analyst Days 2014
Analyst Days 2014Analyst Days 2014
Analyst Days 2014
 
Социальная сеть для бизнес-анализа внутри компании
Социальная сеть для бизнес-анализа внутри компанииСоциальная сеть для бизнес-анализа внутри компании
Социальная сеть для бизнес-анализа внутри компании
 
Очередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFOОчередность требований: от хаоса к FIFO
Очередность требований: от хаоса к FIFO
 
практика управления требованиями
практика управления требованиямипрактика управления требованиями
практика управления требованиями
 
Отделяем зёрна от плевел: работа с заявками на развитие функционала
Отделяем зёрна от плевел: работа с заявками на развитие функционалаОтделяем зёрна от плевел: работа с заявками на развитие функционала
Отделяем зёрна от плевел: работа с заявками на развитие функционала
 
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
Как Skillset-аналитика способствует развитию одной команды аналитиков в Сберб...
 
Кодекс аналитика
Кодекс аналитикаКодекс аналитика
Кодекс аналитика
 
Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное просто
 
Управление требованиями VS Разработка требований. Принципы и инструменты
Управление требованиями VS Разработка требований. Принципы и инструментыУправление требованиями VS Разработка требований. Принципы и инструменты
Управление требованиями VS Разработка требований. Принципы и инструменты
 
Цифровая трансформация глазами Бизнес-аналитика
Цифровая трансформация глазами Бизнес-аналитикаЦифровая трансформация глазами Бизнес-аналитика
Цифровая трансформация глазами Бизнес-аналитика
 

Viewers also liked

Особенности сбора и анализа требований для мобильных приложений
Особенности сбора и анализа требований для мобильных приложенийОсобенности сбора и анализа требований для мобильных приложений
Особенности сбора и анализа требований для мобильных приложений
SQALab
 
Функциональные карты вместо диаграммы вариантов использования
Функциональные карты вместо диаграммы вариантов использованияФункциональные карты вместо диаграммы вариантов использования
Функциональные карты вместо диаграммы вариантов использования
SQALab
 
Как делать нужные продукты
Как делать нужные продуктыКак делать нужные продукты
Как делать нужные продукты
SQALab
 
Лайфхаки Confluence для разработки требований
Лайфхаки Confluence для разработки требованийЛайфхаки Confluence для разработки требований
Лайфхаки Confluence для разработки требований
SQALab
 
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
SQALab
 
Как трансформировать большую команду разработки по Agile-принципам
Как трансформировать большую команду разработки по Agile-принципамКак трансформировать большую команду разработки по Agile-принципам
Как трансформировать большую команду разработки по Agile-принципам
SQALab
 
Коммуникативные неудачи и их друзья
Коммуникативные неудачи и их друзьяКоммуникативные неудачи и их друзья
Коммуникативные неудачи и их друзья
SQALab
 
Как дашборды помогают бизнесу и аналитикам понимать друг друга
Как дашборды помогают бизнесу и аналитикам понимать друг другаКак дашборды помогают бизнесу и аналитикам понимать друг друга
Как дашборды помогают бизнесу и аналитикам понимать друг друга
SQALab
 

Viewers also liked (8)

Особенности сбора и анализа требований для мобильных приложений
Особенности сбора и анализа требований для мобильных приложенийОсобенности сбора и анализа требований для мобильных приложений
Особенности сбора и анализа требований для мобильных приложений
 
Функциональные карты вместо диаграммы вариантов использования
Функциональные карты вместо диаграммы вариантов использованияФункциональные карты вместо диаграммы вариантов использования
Функциональные карты вместо диаграммы вариантов использования
 
Как делать нужные продукты
Как делать нужные продуктыКак делать нужные продукты
Как делать нужные продукты
 
Лайфхаки Confluence для разработки требований
Лайфхаки Confluence для разработки требованийЛайфхаки Confluence для разработки требований
Лайфхаки Confluence для разработки требований
 
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
Через тернии к звездам: почему надо добиваться доступа к пользователям и как ...
 
Как трансформировать большую команду разработки по Agile-принципам
Как трансформировать большую команду разработки по Agile-принципамКак трансформировать большую команду разработки по Agile-принципам
Как трансформировать большую команду разработки по Agile-принципам
 
Коммуникативные неудачи и их друзья
Коммуникативные неудачи и их друзьяКоммуникативные неудачи и их друзья
Коммуникативные неудачи и их друзья
 
Как дашборды помогают бизнесу и аналитикам понимать друг друга
Как дашборды помогают бизнесу и аналитикам понимать друг другаКак дашборды помогают бизнесу и аналитикам понимать друг друга
Как дашборды помогают бизнесу и аналитикам понимать друг друга
 

Similar to Как выбрать для проекта практики проектирования и работы с требованиями

Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
Maxim Tsepkov
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
Dima Dzuba
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
Maxim Tsepkov
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
SQALab
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
CUSTIS
 
DDD - модель вместо требований
DDD - модель вместо требованийDDD - модель вместо требований
DDD - модель вместо требований
SQALab
 
DDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovDDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 Tsepkov
Maxim Tsepkov
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требований
CUSTIS
 
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проектеОмские ИТ-субботники
 
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
LuxoftTraining
 
DDD-secon-2014-tsepkov
DDD-secon-2014-tsepkovDDD-secon-2014-tsepkov
DDD-secon-2014-tsepkov
Maxim Tsepkov
 
Present architect
Present architectPresent architect
Present architect
viktor viktorov
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Cradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомCradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомYulia Madorskaya
 
Киев, BA Con 2017
Киев, BA Con 2017Киев, BA Con 2017
Киев, BA Con 2017
Natalia Zhelnova
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
Alexander Novichkov
 
Кризис результативности ИТ: фиксируем проблему, ищем решения
Кризис результативности ИТ: фиксируем проблему, ищем решенияКризис результативности ИТ: фиксируем проблему, ищем решения
Кризис результативности ИТ: фиксируем проблему, ищем решения
IBS
 
МАПО 2013 Лекция 07 Моделирование IDEF
МАПО 2013 Лекция 07 Моделирование IDEFМАПО 2013 Лекция 07 Моделирование IDEF
МАПО 2013 Лекция 07 Моделирование IDEF
Олег Гудаев
 
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Anatoly Simkin
 
Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015
Maxim Tsepkov
 

Similar to Как выбрать для проекта практики проектирования и работы с требованиями (20)

Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
DDD - модель вместо требований
DDD - модель вместо требованийDDD - модель вместо требований
DDD - модель вместо требований
 
DDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 TsepkovDDD requirements AnalystDays-2014 Tsepkov
DDD requirements AnalystDays-2014 Tsepkov
 
Domain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требованийDomain-Driven Design: Модель вместо требований
Domain-Driven Design: Модель вместо требований
 
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
2013-04-06 01 Максим Юнусов. Архитектура в agile-проекте
 
Архитектура в Agile проекте
Архитектура в Agile проектеАрхитектура в Agile проекте
Архитектура в Agile проекте
 
DDD-secon-2014-tsepkov
DDD-secon-2014-tsepkovDDD-secon-2014-tsepkov
DDD-secon-2014-tsepkov
 
Present architect
Present architectPresent architect
Present architect
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Cradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектомCradle. Знакомство с Demo проектом
Cradle. Знакомство с Demo проектом
 
Киев, BA Con 2017
Киев, BA Con 2017Киев, BA Con 2017
Киев, BA Con 2017
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
Кризис результативности ИТ: фиксируем проблему, ищем решения
Кризис результативности ИТ: фиксируем проблему, ищем решенияКризис результативности ИТ: фиксируем проблему, ищем решения
Кризис результативности ИТ: фиксируем проблему, ищем решения
 
МАПО 2013 Лекция 07 Моделирование IDEF
МАПО 2013 Лекция 07 Моделирование IDEFМАПО 2013 Лекция 07 Моделирование IDEF
МАПО 2013 Лекция 07 Моделирование IDEF
 
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
Доклад и реферат по теме системной инженерии "Управление архитектурой при про...
 
Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015Responsibilities in software development tsepkov analyst days 2015
Responsibilities in software development tsepkov analyst days 2015
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
SQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
SQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
SQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Как выбрать для проекта практики проектирования и работы с требованиями

  • 1. Как выбрать для проекта практики проектирования и работы с требованиями Максим Цепков Главный архитектор дирекции развития решений Москва, 21–22 апреля 2017 Analyst Days И собрать из них целостный метод
  • 2. Что такое «требования»: два ответа Requirements and Architecture Detailed Design Implementation Integration and Test System Verification На V-диаграмме (Wikipedia) требования – внешние функции системы Я буду говорить о требованиях в широком понимании OMG Essence Concept Maintenance 2/35
  • 3.  Когда-то давно проектирование считалось искусством – как стиль художника  Потом начали верить в правильный метод, который знают гуру  И когда Rational собрал трех методологов, Гради Буча, Ивара Якобсона и Джеймса Рамбо, у этой веры даже появились основания – родился UML. Но не случилось  Потом пришло многообразие легких методов: проекты разные, и делать их надо по-разному Надо ли собирать метод? 3/35
  • 4. Big Picture развития методов Эпоха НИОКР: делаем правильную систему Время Способ работы «Новое время»  Удовлетворенность стейкхолдеров  Достижение бизнес-целей продукта Эпоха RUP: делаем систему правильно Время Scrum: движемся к цели 1960 1990 2005 2013 Подробности – в докладах «Развитие критериев качества и управления проектами» на AgileDays – 2015 и «Ответственность за качество в разных ИТ- проектах» на SQA Days – 20 4/35
  • 5.  Я не буду делать обзор методов – о каждом можно прочитать  Я расскажу о вопросах, с помощью которых можно выбрать метод или собрать свой  Речь пойдет о работе с требованиями, а бизнес-анализ, проектирование и смежные области будут только затрагиваться О чем будет доклад Метод для работы с требованиями правильно собирать аналитикам: каждый сам кузнец своего счастья  5/35
  • 6.  Как определяем границы проекта?  Как декомпозируем и инкрементально развиваем?  Как обеспечиваем качество?  Как организуем артефакты?  OMG Essence – способ описать метод План рассказа 6/35
  • 8. V-модель как карта проекта Requirements and Architecture Detailed Design Implementation Integration and Test System Verification Maintenance V-Model (Wikipedia) Пользователи Needs and Opportunities Concept Maintenance Delivery Заказчик ИТ-система Concept 8/35
  • 9. Requirements and Architecture Detailed Design Implementation Integration and Test System Verification ИТ-система Что является целью проекта? Удовлетворить потребности пользователей Пользователи Фокус с автоматизации известного на удовлетворение потребностей пользователей сместился примерно в 2010 Needs and Opportunities Delivery Concept Автоматизировать известный процесс 9/35
  • 10. Requirements and Architecture Detailed Design Implementation Integration and Test System Verification ИТ-система Уровни требований на V-модели Фича как часть конструкции Фича как ценность для пользователей Пользователи Архитектор TechLead UI designer Usability- специалист Системный аналитик UX- специалист Needs and Opportunities Delivery По мере развития IT уровень требований по V-диаграмме повышался и возникали новые специализации аналитиков Бизнес- аналитик Фича как функция системы 10/35
  • 11. IT-проект внутри бизнес-проекта? Requirements and Architecture Detailed Design Implementation Integration and Test System Verification ИТ-система Бизнес-проект Needs and Opportunities Delivery Needs and Opportunities Delivery 11/35
  • 12. Или IT и бизнес делают совместный проект? Requirements and Architecture Detailed Design Implementation Integration and Test System Verification В современных проектах граница между IT-частью проекта и изменением бизнеса подвижна и меняется в ходе проекта, а диджитализация означает, что проект будет единым, а IT-часть – главной! Needs and Opportunities Delivery 12/35
  • 13.  Исходные данные для проекта – потребности пользователей или внешние функции?  Насколько жестко надо фиксировать внешний контур проекта и трассировать к нему решения?  Какие используем форматы: user story, use case, описания фич, классические требования? Требования и потребности – внешний контур проекта Это зависит от стейкхолдеров, заказывающих проект, – как они видят границы и их описание? 13/35
  • 14.  Первоначально требования описывали функции системы и систему как целое  Выяснилось, что сделанные так системы оказываются неудобны или непригодны в работе  Use case – описание, как пользователь будет применять систему для решения своих задач  User story – фиксируем, зачем пользователь решает задачи, применяя систему Выйти за границу – представить себя на месте пользователя В процессе разработки принимается много решений, требующих представить себя на месте пользователя Функции Сценарии Цели 14/35
  • 16.  Каждая система имеет деление  На компоненты – по внешним функциям  На модули – по ячейкам внутренней конструкции В общем случае они связаны произвольно  Развитие системы дискретно  Инкременты поставок очередных версий  Инкременты разработки, передаваемой в тестирование  Если деление мелкое, надо удерживать целостность системы Компоненты, модули и их приращения Из курса Левенчука, он ссылается на ISO 81346 Существует много вариантов организации системы из составных частей. Метод работы с требованиями должен соответствовать способу декомпозиции 16/35
  • 17.  Инкрементальная поставка требует создания бизнес-ценного функционала  Формат User story формулирует малый функционал, ценный пользователю  Use case больше, и его сценарии имеют разную ценность – делим case на slice  Можно описывать приращения в терминах доработки конструктивных элементов системы, ее фич, функций или сервисов Инкрементальная поставка Ивар Якобсон Use Case 2.0 17/35
  • 18.  Детализация до мелких фрагментов выполняется не сразу – каковы крупные фрагменты?  Соответствуют ли крупные фрагменты наборам поставляемого функционала или поставки формируются отдельно?  На каких уровнях детализации и как оцениваем?  Как организуем пакеты поставки из набора функционала?  Как выделяем MVP?  Как используем приоритеты?  Как удовлетворяем интересы групп пользователей? Инкрементальная детализация Вариант – практика Story Mapping 18/35
  • 19.  Что является поставляемым приложением?  Монолит, прирастающий по объему  Крупные модули  Мелкие сервисы или модули  Что является ячейками приложения?  Процедуры, таблицы и формы UI  Объекты (данные плюс методы в одном флаконе)  Модули с собственной моделью декомпозиции и др.  Применяется ли слоевое деление и какое?  Как интегрируются модули и мелкие ячейки? Какова структура приложения? Модуль – развиваем, а сервис – заменяем новым 19/35
  • 20. Основа структуры приложения МетодыДанные UI Николай Вирт «Алгоритмы + структуры данных = программы» 1976 (на русском 1985) Интерфейс Бизнес-логика База данных 20/35
  • 21. Варианты структуры БЛDB UI БЛ DB UI БЛ DB БЛ DB БЛ UI DB БЛ UI БЛ UI БЛ DB БЛ DB БЛ DB UIUI UI Единое приложение Единая база данных Единый портал Единый протокол интеграции А какая структура у вас? 21/35
  • 22.  Концепция системы – цели создания и верхнеуровневые полагания  Метафора системы – эффективная практика XP, если ее получается придумать  Я говорил о метафоре в докладе «Модель системы – архитектура для Agile-разработки» на AgileDays – 2011  Архитектура системы – основа конструкции  Модель системы – постепенно создаваемая и принципиальная конструкция системы  Подход Domain Driven Design (DDD) адаптировал использование модели для инкрементальной поставки (мои доклады по DDD) Удержание целостности системы UI DB БЛ ?? 22/35
  • 24.  Инкремент поставки развивает функции, изменяя для этого ячейки конструкции  Чтобы влияние изменений было локальным, ячейки должны быть изолированными  ООП, микросервисы и многое другое придумывали для этого, но гарантий независимости нет  В ООП ее нарушают обращение по цепочкам ссылок, есть хороший доклад Андрея Бибичева на AgileDays – 2011 «Архитектура в Agile – переосмысляя идею модульности и компонентности»  Независимость микросервисов нарушает синхронное взаимодействие  Какие практики будете использовать вы? Ограниченность изменений 24/35
  • 25. Практики тестирования Requirements and Architecture Detailed Design Implementation Integration and Test System Verification Пользователи Needs and Opportunities DeliveryBDD TDD Continuous Integration Continuous Delivery Автотесты Тест-кейсы – часть требований! 25/35
  • 26.  Уровень тест-кейсов не может быть выше уровня требований – нет смысла делать BDD, если нужды пользователей неясны  Уровень формальности требований должен соответствовать формальности тестов: автотесты требуют строгости  Надо контролировать стоимость ведения и проверки тест-кейсов Ведение требований должно соответствовать подходу к тестированию 26/35
  • 28.  Используем средство моделирования (EA и другие) или диаграммы «в вольном стиле»?  Какие wiki-системы и другие средства коллективной работы используем?  Как структурируем артефакты?  Через какие viewpoint представляем систему?  Какой набор диаграмм используем? Артефакты и диаграммы MS Word не является эффективным средством коллективной работы На SECR – 2016 был рассказ Павла Музыки об опыте CUSTIS «Собираем кубик Рубика: восстановление архитектурного описания корпоративной распределенной системы» 28/35
  • 29.  Артефакт – средство коммуникации  С заказчиком и разработчиками в ходе проекта  С будущими пользователями системы  С теми, кто будет развивать и эксплуатировать – даже если это ты сам, но через полгода  Артефакт должен быть понятен всем сторонам коммуникации  Это ограничивает сложность нотаций  Упрощенные схемы должны сохранять ключевые моменты Принципы работы с артефактами 29/35
  • 30.  Эксплуатация добавляет фокусы  Стоимости функционирования бизнес-процессов и поддержки  Быстрой и эффективной обработки инцидентов  Сохраняется фокус развития системы  Автоматизация вспомогательных и побочных процессов  Реализация специальных процессов для конкретных целевых групп пользователей  Крупные доработки основного процесса  Все это требует изменений в практиках и артефактах ведения требований От внедрения к эксплуатации Их надо спроектировать и реализовать, тем более что на внедрении артефакты обычно отстают от системы 30/35
  • 31. OMG Essence – способ описать метод Потому что процессное описание в IT не работает – помни историю RUP Источники: Спецификация на сайте OMG и библиотека практик на сайте Ивара Якобсона (требуется регистрация) 31/35
  • 32. Требования и возможности в Essence Req Conceived Bounded Coherent Acceptable Addressed Fulfilled Opportunity Identified Solution Needed Value Established Viable Addressed Benefit Accrued Обнаружены коммерческие или социальные возможности Необходимо IT-решение Согласована потребность в IT-решении Определена ценность решения Ясно назначение и область системы Описаны основные характеристики Описание принято стейкхолдерами Вольный перевод! Сроки и стоимость решения приемлемы Значительная часть требований удовлетворена Демонстрируется, что решение доставляет ценность Требования удовлетвореныОжидаемый эффект достигается 32/35
  • 33. Требования – декомпозиция Req Conceived Bounded Coherent Acceptable Addressed Fulfilled Req Item Identified Described Implemented Verified Product backlog User story Described Understood Implemented Fulfilled Story Card Req Item Understand the Reqs Shape the System Implement the System Test the System Write Prioritize Estimate 33/35
  • 34. User story и Use case Req Item Identified Described Implemented Verified User story Described Understood Implemented Fulfilled Use case Goal Established Story Structure Understood Simplest Story Fulfilled Sufficient Stories Fulfilled All Stories Fulfilled Use case slice Implemented Verified Analyzed Prepared Scored Req 34/35
  • 35.  Каждая ИТ-разработка идет в своих условиях  Требования определяют внешние границы проекта и создаваемую конструкцию  Способ работы с требованиями в проекте сам по себе – объект конструирования и воплощения Подводя итоги Вакансии аналитиков Пишите на hr@custis.ru, подходите с вопросами Максим Цепков mtsepkov.org