Работа с требованиями в Интернет-стартапе / Александр...
TRANSCRIPT
Кто я?• Разработчик и сисадмин• Аналитик• Менеджер проектов• CIO• Идеолог uml2.ru• Тренер, консультант• Докладчик на многих конференциях
[email protected]://baikin.moikrug.ru
Байкин Александр
Различия
• Разработчики• Процесс не поставлен• Время критично• Частые изменения• Нет аналогов
• Разные специалисты• Процесс налажен• Время ставим сами• Фикс. рамки• Проект не первый
Плановая разработка Разработка в Старапе
Проект №1• Факт
– Заказчик пришел с «готовым» ТЗ– После 3 месяцев тр. кардинально изменились – После 6 месяцев проект закрыли
• Проблемы– Непонятны ЗЛ– Непонятны цели– Непонятны преимущества продукта
Анализ проблем• 5 Why’s
– Зачем, для чего, каким образом…?• 5 Ws
– Who, what, when, where, why?• Д Ишикавы
Проект №2• Факт
– Требования рождались спонтанно– Требования не хранились– Через 1 год нельзя дальше развивать проект
• Проблемы– Изменения происходят долго и бесконтрольно– Изменяют в одном месте, рушится в другом– Сложно вводить нового разработчика
Рецепт №2• Документирование и хранение требований
– Wiki или Система версионного контроля– Ссылки– Согласование/Презентации– Требования за итерацию до разработки
Рецепт №3• Система управления задачами
– Выдача и контроль задач– Приоритезация задач и требований– Контроль изменений– Связь задач и требований
• Требование -> Задача -> Код
Проект №3• Факт
– Долгий процесс разработки требований– Готовое решение показало много проколов– Изменения не фиксировались
• Проблемы– Опоздание запуска на 3 месяца– Непонятно, что в итоге реализовано– Реализовались фичи хаотично
Рецепт №4• Итерационная разработка• Как можно раньше в тест• Привлекать бета тестеров• Приоритезация требований• Хранение изменений требований
Рецепт №5• Планируйте время на требования• Требованиями могут заниматься все• Доступность требований для всех• Больше диаграмм• Договаривайтесь о рамках требованиях• Не забывайте про нефункциональные тр.
Сохранность границ• Решение корневых проблем, а не хотелок• Правильно определяйте цели разработки• Baseline требований и приоритет• Управление изменениями требований• Больше объем – на много больше изменений• Изменения будут – это естественно• Научитесь говорить НЕТ
Нефункциональность• Не забывайте про НФТ
– Требования к производительности– Требования к браузерам– Требования к железу и доп софту– Требования к интрефейсу– И т.д.
Детализация требований• Пользовательские требования (use cases)• Другие функциональные требования• Нефункциональные требования• Диаграммы (UML)
Д Данных class Пользователи
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version EA 9.0 Unregistered Trial Version
Пользователь
- логин :string- пароль :string- мыло :string
Заемщик
Кредитор
Статус пользователя
- Название :string- Описание :string
Группа
- Название :string- Описание :string
Аккредит пользователь
- Дата рождения :date- ИНН :string- Номер СНИЛС :string- Моб телефон :string- Дом телефон :string- Раб телефон :string- Адрес регистрации :struct- Адрес проживания :struct
«паспорт»- Серия П :string- Номер П :string- Дата выдачи П :date- Кем выдан П :date- Скан П :blob
«загран паспорт»- Нет загран паспорта :byte- Номер ЗП :string- Дата выдачи ЗП :date- Кем выдан ЗП :date- Скан ЗП :blob
«вод удостоверение»- Нет вод удостоверения :byte- Серия ВУ :string- Номер ВУ :string- Дата выдачи ВУ :date- Кем выдан ВУ :date
Оператор
Админ
Редактор
Сообщение
- Тема :string- Сообщение :string- Файлы :blob
Профиль Пользователя
- Фамилия :string- Имя :int- Отчество :string- пол :int- Фото :blob- О себе :string
Рейтинг
- Название :string- Описание :string
Владелец
Город
Область
Регион
Транзакции::Счет
- Наименование :string- ФИО в счете :string
Еще есть куча атрибутов
0..*
кому
1
0..*
1
0..* 1
0..*
от кого
1
проживания
0..*1
рождения
0..*
владелец
0..1
Инструменты• Wiki (TWiki, Confluence, ….)• Task tracker (Jira, Redmine, ….)• Диаграммы (Sparx EA, Visio, ручка+бумага, …)
Итого• Понимайте корневые проблемы• Договоритесь о целях• Работайте с требованиях• Применяйте методы анализа• Организуйте процесс изменений требований• Смотрите немного наперед