-
Контекст (разработки)
- Реферат в школе
- Научно-исследовательская работа
- Разработка ПО
- Обучение студентов
- Любой проект!
-
Симптомы
- Момент, о который спотыкаются
- Симптом - это не проблема, которую надо решать. Снятие симптома не делает заказчика/пользователя счастливым
-
Проблема
- Заказчик приходит с решением, которое он видит. Обычно это решение призвано снять симптом
- Снимая симптомы мы не удовлетворяем клиента.
- Имея такой симптом, мы не можем ограничивать хотелки или ставить приоритеты работы
- Нам неоткуда брать технологические ограничения
- Это приводит к раздуванию проекта, неоптимальным (или случайно оптимальным) технологическим решениям. У нас провальный проект.
- Конфликты в команде
-
Решение: что нужно сделать
- Описать контекст
- Выявить настоящие проблемы
- Определить конкретные цели
- Сформировать решение, которе поможет достичь целей
- Отобразить задачи из решения на разрабатываемое ПО
-
Решение: Изучение контекста
- Никто сразу не ответит на вопрос "Какие у вас проблемы?"
-
Вопросы
-
Как это делается сейчас?
- Какие есть альтернативные решения?
- Почему это не устраивает?
- Что нравится в текущем решении?
- Почему это перестало устраивать именно сейчас?
- Уже на уровне изучения контекста проект может закрыться!
-
Решение: Выявление проблем
-
Проблема (триггер) это
- Решить проблему
- Получить новую возможность
- Снизить потенциальный риск
- Проблема должна иметь прямой выход на деньги!
- Формулировка проблемы
- Симптомы мы тоже не выкидываем, они могут дать критерии: метрики процессов, числовые и качественные характеристики желаемого результата
-
Решение: Определение целей
- Цели должны решать проблемы
-
Должно быть понятно, как именно цель делает счастливым заказчика/потребителя
- Сформулирована положительно
-
Мнемонические правила
-
SMART
- Specific – цель должна быть конкретной
- Measurable – цель должна быть измеримой
- Attainable – цель должна быть достижимой
-
Realistic – цель должна быть реалистичной
- Уместная
- Time bound – цель должна быть ограниченной во времени.
-
PURE
- Positively stated – цели должны быть сформулированы на позитивном настрое, без приставки «не». По принципу «хочу то- то и то- то».
- Understandable – цели должны быть понятны всем, а не только Вам.
- Relevant –цели должны быть релевантными, то есть в этом случае, находится в общем русле, а не быть «оторванными» от текущей ситуации.
- Ethical – цели должны быть этичными.
-
CLEAR
- Challenging – цели должны содержать некий вызов. То есть цель может быть решена только с Вашим участием.
- Legal – цель должна быть в рамках закона.
- Environmental – цель не должна наносить вред окружению. У нас есть такое выражение – «идти по головам…», так вот это неправильно, когда цель указывает на какой – то негатив, который можно принести другим.
- Appropriate –цель должна быть уместной, это как если бы мы пытались топором закручивать винт.
- Recordable-цель должна быть записана. Пожалуй, это самая главная часть этого фильтра, да и не только. Как говорится в поговорке: «Самый тупой карандаш, лучше самой острой памяти». Кстати, дело тут не только в фиксации.
- Найти презентацию Кости
- У целей должен быть проставлен приоритет
- В идеале - 1 цель на проект! Можно 2-3
-
Стоп-слова
- Автоматизировать…
- Эффективный…
- Интуитивно-понятный…
- Быстро…
-
Решение: Построение решения
-
Задачи
- Что мы делаем, чтобы достигнуть целей?
- Что мы не делаем, чтобы достигнуть целей?
- Задачи накладывают ограничения на используемые проектом средства
-
Решение: Отображение решения на ИС
- Задачи формируют блоки работ в проекте и требования
- Приоритеты задач помогают формировать план работ
- Обычно в начале работ согласуется первый этап (первая версия)
-
Цели (Профит)
- Мы имеем согласованное с клиентом видение проблем и решений, это повышает вероятность удовлетворенности клиента, и что он к нам вернется
- Имея постановку целей и задач мы понимаем ограничения проекта и фильтр на входящие хотелки
-
Мы видим ограничения, которые контекст накладывает на технологическое решение и архитектуру
- Задачи разделяют проект на подсистемы/модули
- С помощью целеполагания мы уменьшаем вероятность конфликтов
- Они маленькие по объёму!
-
Что делать?
- При входе в продукт требовать эту информацию
-
При формировании проекта - генерировать её
- Вовлекать в это как можно больше людей
-
Всегда с ней сверяться при построении/перестройке планов
- Делать это не только для рабочих проектов