2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как...
TRANSCRIPT
Чек-листы и порядок на проекте
www.issart.com
Максим Дроздов
Цель
Показать, как простые документы
помогают наводить порядок в
сложных ИТ проектах
2
О чём пойдёт речь
1. История одного проекта
2. Когда использовать чек-листы
3. Как использовать чек-листы
3
1. История одного проекта
41. История
О чём проект
Массовые почтовые отправления по США с помощью разных транспортных компаний.
Команда до 12 человек
Методология Agile
Лояльный заказчик
Интеграция более, чем с 12 внешними сервисами: транспортные компании, сервисы отслеживания отправлений, поддержка пользователей, карты, платежные сервисы и т.д.
Мобильные клиенты и API.
Технологии: PHP, MySQL, Objective-C, Java.
51. История
Сложности
● много внутренних связей
● много интеграций
● высокая изменчивость требований
● распределённая команда
61. История
Проблемы
● сложности с оценкой задач
● превышение оценок
● нарушение сроков
● лишение премий
71. История
больно оттого, что
при оценке задачи тяжело учесть все связи с:
● функционалом системы● архитектурой системы
А ещё учесть все значимые риски.
81. История
Ищем причины
● думаем, как улучшить ситуацию
● ищем причины превышений оценок
9
Главная причина:
требованияобрывистые, изменчивые
1. История
Находим решение
★ предлагаем заказчику аналитика
★ успешно продаём эту идею
★ аналитик описывает систему
★ неопределенность начинает снижаться
101. История
но тут...
заказчик отказывается от аналитика,
так как не осознаёт пользы от хорошего описания требований
111. История
Безвыходная ситуация
● заказчик вне себя
● и теперь требует договора в формате fixed price
● нужны честные оценки (без искусственных завышений)
● требования сумбурные и противоречивые
● нет аналитика
121. История
Сумасшедшая идея
● Аналитику делают разработчики
● МП их успокаивает и помогает им
131. История
Систематизация знаний о системе
Простые чек-листы по ключевым аспектам проекта:
● перечень юз-кейсов (use case, вариант/сценарий
использования),
● перечень архитектурных компонентов,
● перечень тест-кейсов.
141. История
да, просто несколько чек-листов
Один чек-лист - одностраничный документ, тезисный список, без деталей
151. История
которые легко просматриваются
при оценке каждой задачи
чтобы гарантированно ничего не забыть
161. История
Чек-лист юз-кейсов (функционала)При оценке задачи необходимо учесть её влияние на все возможные юз-кейсы
Формат чек-листа
Эктор : Блок вариантов использования -> Вариант использования
Пример чек-листа юз-кейсов по экторам
1. Admina. Admin : Users -> Activityb. Admin : Settings -> Edit pricesc. Admin : Reports -> Filter Settingsd. Admin : Providers -> On/Off carriere. …
2. Primary User a. Primary User : Shipping -> Send parcels via Store Portalb. Primary User : Shipping -> Send parcels via Wizardc. Primary User : Shipping -> Track parcelsd. ...
3. Systema. System : Settings -> Set the commmisionb. System : Reconciliation -> Import reportc. ...
4. ...
171. История
Чек-лист компонентов архитектурыПри оценке задачи необходимо учесть её влияние на все возможные компоненты системы
Формат чек-листа
Простой иерархический
Пример чек-листа компонентов системы
● Services○ Providers:
■ USPS■ Stamps.com■ Intuiship■ Fedex■ UPS■ Express 1
○ Payment services:■ PayPal■ Authorize.Net
○ Store Integration○ Shipsurance
● Login system● Sign up system● Stores
○ Orders○ Batches○ eBay○ Amazon○ ...
181. История
Шаблон описания задачиИ это тоже чек-лист для процесса проектирования и оценки изменений
● Analytics
○ Description (пользовательская история,
краткое описание функционала)
○ Business goal (цель заказчика,
обычно связана с прибылью)
○ Use cases (зависимые юз-кейсы из чек-листа)
○ Non-functional Requirements (Usability,
Reliability,Performance,Supportability)
○ Suggestions (предположения команды)
○ Questions (вопросы к заказчику)
● Architecture
○ Data (изменение схемы данных)
○ Technologies (затрагиваемые технологии из
всего стека)
○ Components (зависимые компоненты из чек-
листа)
○ Implementation and estimation (декомпозиция
с оценками и рисками)
○ Deployment
191. История
и ещё чек-листы
● чек-лист рисков, с опорой на специфику проекта
● общие требования к UI проекта
● тестовые чек-листы - тезисный список тест-кейсов
Ответственный за чек-листы и их обновление - менеджер проекта.
201. История
Checklist driven
development :)
Простой способ навести порядок
Использовались чек-листы:
Юз-кейсы
Компоненты
Риски
Общие требования к UI
Шаблон описания задачи
Процесс оценивания
Тест-кейсы
Планирование сроков и бюджета
211. История
ProfitProfitProfit
● Аналитика сделана
● трассировка требований
● разработчики получили новый
опыт в смежной области
● оценивать задачи стало проще
● оценки начали соблюдаться
● заказчик понял риски
● самые выгодные фичи были
реализованы в первую очередь
● продукт вышел в свет!
● все получили премию :)
Приятные плоды
221. История
2. КОГДА использовать чек-листы
232. Когда
Когда документацияне работает
24
избыточная
устаревшая
противоречивая
беспорядочная
неудобная
2. Когда
Когда нет ресурсов
на создание и поддержку полновесной документации
252. Когда
Когда срочно нужен порядоки нет времени ждать
262. Когда
3. КАК использовать чек-листы
273. Как
Краткость
Принцип KISS и бритва Оккама в действии.
пользоваться
● удобно
● быстро
● легко
283. Как
Системность
итеративный подход
29
инкрементальный подход
3. Как
Системность
итеративный подход
30
инкрементальный подход
отдельные части с высокой детальностью
3. Как
Системность
итеративный подход
31
инкрементальный подход
отдельные части с высокой детальностью
но не видно всей системы
3. Как
Системность
итеративный подход
32
инкрементальный подход
3. Как
Системность
итеративный подход
чек-лист - уровень невысокойдетальности
33
инкрементальный подход
3. Как
Системность
итеративный подход
чек-лист - уровень невысокойдетальности
зато видно всю систему, как целое
34
инкрементальный подход
3. Как
Актуальность
свежий вид системы всегда перед глазами
353. Как
ИТАК
36
Чек-лист не заменяет
голову
зато он хорошо ей помогает
37Итак
Чек-лист не заменяет
голову
зато он хорошо ей помогает
38Итак
www.issart.com
Дроздов Максим
Email: [email protected]
Skype: mdrozdov_issart
Спасибо за внимание!
39