Архив рубрики 'Юзкейсы'

Байка для оруженосца- 14. Сбалансированная производственная цепочка.

Суббота, Август 27th, 2016

Сегодня очередное безумное чаепитие проходило на природе. Когда не было особой запарки с проектами, команда выезжала за город. Позади были картинг, пейнтбол, стрельба из лука. Впереди - волейбол и рыбная ловля. Вечером ожидались шашлыки десятка разных сортов, но до них было еще далеко.

Так что за огромным столом был традиционный для команды “five o’clock”. Но и на нем не обошлось без игр. Играли в игру из романа “Слишком много поваров” Рекса Стаута. Чеширский отобрал множество ингредиентов для заварки. Чабрец, липовый цвет, листья земляники … Всего дюжину добавок. И заварил пять огромных пузатых чайников. Но в каждый положил только десять компонентов. И теперь надо было угадать в каком чайнике чего не хватает. Организовалось две команды. Одной верховодила вернувшаяся с Байкала Соня, другой Шляпник. Королева и почтивший чаепитие свои вниманием Время были простыми участниками.

(more…)

Вариант использования как элемент планирования

Воскресенье, Ноябрь 8th, 2015

Use Case (вариант использования, ВИ, Прецедент, юскейс) это один из вариантов записи требований к системе. Дополнительную информацию о них можно узнать из статей:
•    Что такое Use Case и зачем они нужны?
•    Пример требований к системе
•    Байка для оруженосца-5. Использование вариантов использования.
•    Примеры вариантов использования (Usecase)
В отличие от многих других способов записи требований юскейсы обладают двумя приятными особенностями:

•    Существует множество формальных способов проверки реестра юскейсов на полноту.
•    Описан способ, как выделить уровни юскейсов.

Эти особенности позволяют легко создать достаточно полный реестр атомарных задач. Термин «Уровень» был предложен Алистером Коберном. Если очень грубо, то:

  • Юскейс «уровня моря» - это юскейс, при котором время взаимодействия с системой не превышает 20 минут и который, будучи выполнен многократно, приносит пользу. Часто юскейсы этого уровня составляют основу спецификации требований.
  • Юскейс «выше уровня моря» (змей, облако) - более высокоуровневый. Содержит несколько юскейсов уровнем ниже. Часто служит основой для переговоров с заказчиками.
  • «Ниже уровня моря» (рыба, моллюск) - составная часть «уровня моря». Часто используется для описания взаимодействия между системами в рамках одного юскейса уровня моря.

Каждый из этих уровней в зависимости от проекта может быть выбран в качестве уровня атомарной задачи. Да, это не полный реестр, но это костяк реестра.
Примечание. Каждый юскейс может включать в себя как юскейсы более низкого уровня, так и задачи других типов.

Рассмотрим несколько разных проектов.

Проект А.
Маленький проект. Несколько недель (месяцев) для одного программиста.
Спецификация требований на основе ВИ на него можно найти по ссылке: «Пример требований к системе»
Примечание. Сегодня я бы написал документ по-другому, но и такой вариант довольно сильно облегчит жизнь программисту.

Это несколько недель для одного программиста. Сколько именно, зависит от платформы.
1.    Java / C# + MSSQL – 6-12 недель
2.    Дельфи + SQLite – раза в два меньше
3.    FileMaker / MS Access / FoxPro / Clipper / Paradox – 3-10 дней

Если мы выбираем в качестве платформы C# + MSSQL, то для этого проекта удобно использовать юскейсы «уровня моря» в качестве уровня атомарной задачи. Реестр задач по этому проекту мог бы выглядеть следующим образом:

  • Работа с «Партнерами» - (юскейс над уровнем моря)
    • Создание необходимых структур в БД - (не юскейс)
    • Просмотр списка партнеров - (юскейс уровня моря)
    • Создание «Партнера» - (юскейс уровня моря)
    • Просмотр «Партнера» - (юскейс уровня моря)
    • Изменение «Партнера» - (юскейс уровня моря)
    • Удаление «Партнера» - (юскейс уровня моря)

Программисты на платформе C# + MSSQL, с которыми мы общались, утверждали, что делают в неделю 2-10 юскейсов вида «Просмотр, создание, изменение». То, что надо. Проводить дальнейшую декомпозицию нужно в очень редких случаях.

Примечание. При программировании на Paradox «Уровень моря» становится слишком мелок. Впрочем, с Paradox весь проект становится совсем крошечным, и для него формальный реестр задач необязателен.

Проект Б. Проект среднего размера. Несколько человеколет (десятков человеколет).
Создание интернет-магазина для крупной розничной сети.
Руководство уделяет пристальное внимание дизайну страниц, и поэтому создание макета, дизайн, верстку и программирование выполняют разные люди. Кроме того, в ходе выполнения одного единственного юскейса уровня моря может понадобиться несколько страниц. Нужен уровень помельче.
Реестр задач:

  • Работа с Заказом
    • Просмотр заказа
      • Макет
      • Дизайн
      • Верстка
      • Программирование
    • Оформление заказа для авторизованного покупателя
    • Оформление заказа для неавторизованного покупателя
      • Страница «Вход»
        • Макет (не менее 6)
        • Дизайн макета 2
        • Дизайн макета 4
        • Дизайн макета 5
        • Верстка утвержденного макета
        • Программирование
      • Страница 2
      • Страница 3
      • Последняя страница
        • Макет
        • Передача заказа в программу логистики (юскейс)
        • Расчет бонусов (юскейс)

В данном случае юскейсы, в первую очередь, является группирующей сущностью атомарных задач. Что касается, атомарных задач, то это, как правило, будут не юскейсы. Но иногда будут встречаться юскейсы уровня рыбы и моллюска.