Семинар №3 4 - V1adique/Vladique.github.io GitHub Wiki
1. Проект
1.1 Рассматриваемая система (процесс)
1.1.1 Наименование: процесс разработки Telegram-бота для сайта компании
1.1.2 Цель (назначение): оптимизация разработки бота для сайта
1.1.3 Разбор цели системы по SMART
Критерий | Значение | Оценка |
---|---|---|
S (конкретность) | Бот в Telegram | ✅ |
M (измеримость) | Модули (Оценка) | ✅ |
A (достижимость) | Команда Malina | ✅ |
R (уместность) | Компилятор Python | ✅ |
T (ограниченность во времени) | Конец второго модуля | ✅ |
1.2 Предлагаемый проект
1.2.1 Наименование: Разработка кнопок и блочных технологий для создания в Telegram-бота
1.2.2 Цель (изменяемый критерий SMART цели системы): Упрощение написания кода
1.2.3 Разбор цели проекта по SMART
Критерий | Значение | Оценка |
---|---|---|
S (конкретность) | Сократить время разработки | ✅ |
M (измеримость) | Человек/час | ✅ |
A (достижимость) | Команда Malina | ✅ |
R (уместность) | Ограничение: 6 нормо-часов на сотрудника | ✅ |
T (ограниченность во времени) | Cрок до окончания 2-го модуля | ✅ |
1.3 Вид прототипа
- горизонтальный (сценарии работы)
- вертикальный (структура продукта)
- одноразовый (исследовательский)
- инкрементный (эволюционный)
1.4 Задача
❓ репозиторий
1.4.1❓ landing page
1.4.2пользовательская история (ссылка на issue) ✋ пример
1.4.3- Кто: Команда Malina
- Как: Владелец продукта, Программист, Тех.писатель, Мастер
- Хочу: Создать бота, используя блоки и кнопки на языке Python
- Чтобы: Упростить создание
- Приемка: Все функции работы с данными правильно работают на контрольных примерах
✋
1.5 Проектные риски (спринт) ❓- Дефицит специалистов
Нереалистичные сроки и бюджетРеализация несоответствующей функциональностиРазработка неправильного пользовательского интерфейса«Золотая сервировка», перфекционизм, ненужная оптимизация и оттачивание деталейНепрекращающийся поток измененийНехватка информации о внешних компонентах, определяющих окружение системы или вовлечённых в интеграциюНедостатки в работах, выполняемых внешними (по отношению к проекту) ресурсамиНедостаточная производительность получаемой системы- Разрыв между квалификацией специалистов и требованиями проекта
Вид риска | Название риска (описание события) | Вероятность | Стратегия | Мероприятие |
---|---|---|---|---|
1 | Один из двух сотрудников заболеет | 🟢 | Принятие (Acceptance) | Проектом займется другой сотрудник |
10 | Недостаток людей на роли | 🟢 | Принятие | Роли распределяются между сотрудниками |
2. Команда
2.1. Закрепление полномочий
Роль | Ответственность (компетенция, зона принятия решений) | Менеджер | Заместитель |
---|---|---|---|
РП (Владелец продукта-) | Бизнес-результат, решение проблем, обеспечение ресурсами | Артамонов | Рошу |
АД (Мастер) | Диспетчирование и контроль задач, выявление проблем | Артамонов | Рошу |
СП (Аналитик) | Сбор и управление всеми требованиями в проекте | Рошу | Артамонов |
ВН (Дизайнер) | Удобство использования, привлекательность продукта | Рошу | Артамонов |
БА (Тестировщик) | Выявление бизнес-проблем, способы тестирования | Рошу | Артамонов |
НИ (Архитектор) | Структура продукта, инструменты разработки и поставки | Рошу | Артамонов |
ПП (Программист) | Стиль и способы разработки, используемые фреймворки | Артамонов | Рошу |
КО (Тех.писатель) | Документирование проекта и продукта | Артамонов | Рошу |
✋
2.2. Закрепление обязанностейУчастник | Стадия | Действие (activity) | Ожидаемый результат |
---|---|---|---|
РП (Владелец продукта) | 1 старт | Регистрирует участников проекта | Участники приняли приглашения и подключились к проекту |
РП (Владелец продукта) | 2 контроль | Принимает решение по всем возникающим проблемам | Комментарии к проблемам (issue) |
РП (Владелец продукта) | 3 финиш | Принимает решение об успешности спринта, дает общую оценку работы команды и дает предложения по всем индивидуальным оценкам | Предложения по индивидуальным оценкам |
АД (Мастер) | 1 старт | Получает оценку времени для каждой подзадачи, собирает sprint log, назначает исполнителей | Список подзадач на канбан-доске |
АД (Мастер) | 2 контроль | Проводит stand-up совещание | Статус задач отмечен на канбан-доске, проблемы зарегистрированы и назначены РП в форме дополнительных задач (issue) |
АД (Мастер) | 3 финиш | Проводит stand-up совещание | Статус задач отмечен на канбан-доске, проблемы зарегистрированы и назначены РП в форме дополнительных задач (issue) |
АД (Мастер) | 3 финиш | Проводит демонстрацию результатов спринта владельцу продукта и другим заинтересованным лицам | Протокол демонстрации записан в виде комментария к пользовательской истории |
СП (Аналитик) | 1 старт | Регистрирует историю как отдельную задачу проекта (issue) | Задача с номером |
СП (Аналитик) | 2 контроль | Регистрирует возникающие дополнительные задачи (issue) в соответствующих проектах | Задачи с номером |
СП (Аналитик) | 3 финиш | Выполняет все разработанные тесты, регистрирует все выявленные несоответствия требованиям | Задачи с номером, комментарии |
ВН (Дизайнер) | 1 старт | Разбивает задачу истории на подзадачи - страницы | Список подзадач с именами страниц |
ВН (Дизайнер) | 2 контроль | Разрабатывает процедуры - страницы, стили и заглушки обработчиков html-страницы с обработчиками событий | |
ВН (Дизайнер) | 3 финиш | Разрабатывает и отлаживает процедуры - страницы, позволяющие выполнять тесты в интерактивном режиме html-страницы и js-процедурами для запуска тестов | |
БА (Тестировщик) | 1 старт | Разбивает задачу истории на подзадачи - тесты | Список подзадач с именами тестов |
БА (Тестировщик) | 2 контроль | Разрабатывает процедуры - тесты и тестовые наборы данных | html-страницы с тестами |
БА (Тестировщик) | 3 финиш | Разрабатывает и отлаживает процедуры - тесты и тестовые наборы данных | html-страницы с js-процедурами тестов и тестовые наборы данных |
НИ (Архитектор) | 1 старт | Разбивает задачу истории на подзадачи - процедуры | Список подзадач с именами процедур |
НИ (Архитектор) | 2 контроль | Определяет дополнительные требования к выполнению задач | Комментарии к задачам |
НИ (Архитектор) | 3 финиш | Принимает решение по всем выявленных несоответствиям требованиям | Комментарии к задачам |
ПП (Программист) | 1 старт | Разрабатывает алгоритмы выполнения всех подзадач, требующих программной реализации | Описание алгоритма и диаграмма деятельности в комментариях к задаче, в виде вики-страницы или в виде комментариев в файле программы |
ПП (Программист) | 2 контроль | Разрабатывает процедуры - обработчики и генераторы тестовых наборов данных | js-модули |
ПП (Программист) | 3 финиш | Разрабатывает и отлаживает процедуры - генераторы тестовых наборов данных | js-модули |
КО (Тех.писатель) | 1 старт | Делает описания для всех подзадач, требующих программной реализации | Описание и необходимые диаграммы в комментариях к задаче, в виде вики-страницы или в виде комментариев в файле программы |
КО (Тех.писатель) | 2 контроль | Корректирует или делает новые описания для всех разработанных процедур | Описание и необходимые диаграммы в комментариях к задаче, в виде вики-страницы или в виде комментариев в файле программы |
КО (Тех.писатель) | 3 финиш | Разрабатывает требуемые описания всех разработанных процедур, тестов и тестовых наборов данных | Описание и необходимые диаграммы в комментариях к задаче, в виде вики-страниц или в виде комментариев в файлах процедур, тестов и тестовых наборов данных |
✋
3. Личные риски (на спринт) ❓- Дефицит специалистов
Нереалистичные сроки и бюджетРеализация несоответствующей функциональностиРазработка неправильного пользовательского интерфейса«Золотая сервировка», перфекционизм, ненужная оптимизация и оттачивание деталейНепрекращающийся поток измененийНехватка информации о внешних компонентах, определяющих окружение системы или вовлечённых в интеграциюНедостатки в работах, выполняемых внешними (по отношению к проекту) ресурсамиНедостаточная производительность получаемой системыРазрыв между квалификацией специалистов и требованиями проекта
Роль | Фаза | Вид риска | Название риска (описание события) | Вероятность | Стратегия | Мероприятие |
---|---|---|---|---|---|---|
ПП (Программист) | 1 старт | 1 | Выполнение обязанностей за нескольких специалистов | 🟢 | Принятие (Acceptance) | Выполнять несколько ролей будет 1 человек |