Юрий Дубровский - Живые требования – тот еще фрукт. Актуализируем и реализуем, пока не испортились
- Название:Живые требования – тот еще фрукт. Актуализируем и реализуем, пока не испортились
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2021
- ISBN:978-5-532-97565-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Дубровский - Живые требования – тот еще фрукт. Актуализируем и реализуем, пока не испортились краткое содержание
Живые требования – тот еще фрукт. Актуализируем и реализуем, пока не испортились - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Что это означает для нас, как специалистов, работающих с требованиями? Вернемся к постулатам простой модели требований и посмотрим на них с позиции течения жизни.
Результат такого рассмотрения обеспечит нам более приближенную к жизни, чем простая, модель требований.
Динамическая модель требований
Ранее мы назвали допущения-постулаты для простой модели требований.
Пройдем по этим ранее заявленным постулатам, которыми обеспечивалась характерная для простой модели фиксация «неизменности» требований.
Насколько неизменным в реальности является тот постулат, что содержание требования, как его понимают все участники проекта, более не меняется?
На самом деле, это допущение не очень точно, потому что со временем коммуникации приводят к углублению и, иногда, изменению понимания требований участниками проекта. Чем длиннее по времени и сложнее проект, тем более вероятно, что понимание требований со временем претерпит изменения.
Далее, постулат, что связи требования с другими требованиями прояснены и не изменяются значимым для понимания других требований образом в ходе проекта.
Связи – элемент, характеризующий сложность системы. Очевидно, что по мере углубления и детализации понимания могут быть как выявлены новые связи, так и установлена ошибочность представления о каких-то связях, ранее кажущихся существующими.
Так что, длительность и сложность проекта и в этом постулате существенно увеличивает вероятность того, что неизменность, в данном случае, связей будет нарушена.
К тем же выводам мы придем, рассмотрев набор требований с точки зрения неизменности его состава, то есть, что не возникает новых требований, а существующие требования не удаляются из рассмотрения.
Увы, и это гарантировать тем труднее, чем длительнее и сложнее проект.
Проиллюстрируем тем же примером диалогового окна программы, что был приведен при описании простой модели. Вот пара требований из списка:
– в окне текст «Ваша карточка сохранена!»;
– форматирование следующее: цвет текста черный #000000, фона и букв на кнопке белый #FFFFFF, фона кнопки синий #0000AA, шрифт: Arial – для заголовка и кнопки размер 10, для текста – 8;
А теперь представим, что требования цветов взяты из бренд-бука компании, который в этот момент также находится в разработке, поэтому цвет может быть и #0000BB, и #EEEEEE, и еще множество других вариантов, которые сейчас неизвестны.
Конечно, сразу возникает идея сначала закончить и утвердить в таком случае бренд-бук, а затем уже его использовать в других проектах. В реальности обстоятельства могут требовать одновременности работ, обусловленной ограниченными сроками получения результатов обоих проектов по экономическим, управленческим, регуляторным или иным причинам.
Теперь по втором требованию. Пусть, для примера, фраза «Ваша карточка сохранена!» не полностью нравится бизнес-заказчику, у него есть мнение, что текст может быть «Операция выполнена!» или «Документ сохранен!», между которыми он никак не может выбрать.
Изменения по этим требованиям вроде бы не выглядят трудоемкими, но, если они потребуются десятки раз в течение проекта (а это вполне реально, если заказчик колеблется в выборе), это уже будет ощутимо.
Одним из вариантов сразу видится вынести формулировку текста в настройки, чтобы не менять код каждый раз.
Может сработать. Но может и нет, если текст будет существенно разной длины и это повлечет изменение верстки.
Важно то, что наше внимание к особенностям реализации требования обусловлено не его содержанием «вывести текст», а его состоянием «заказчик колеблется в выборе текста».
Возвращаясь к общему случаю, получаем другую, более сложную модель требования, которая опирается на то, что:
– содержание требования, как его понимают все участники проекта, может изменяться в ходе проекта;
– связи требования с другими требованиями могут прояснятся и изменятся значимым для понимания других требований образом в ходе проекта;
– состав требований проекта может изменяться в ходе его выполнения, а именно, возможно возникновение новых требований, а какие-то существующие требования могут удалятся из рассмотрения как неактуальные.
Назовем это динамической моделью требования.
Перечитаем еще раз… Ничего стабильного… Как с этим работать то можно? Кажется, что с такими постулатами мы стоим на чем-то зыбком и совершенно неустойчивом… Как обрести твердую почву под ногами? Ответ прост – «замораживать» на время проведения работ. Именно так поступают строители, когда возводят сооружения на неустойчивых грунтах, также будем поступать и мы.
Стоит заметить, что если динамика возникает в требованиях, то в критериях приемки тоже появляется динамика, обусловленная этими изменениями требований.
Итерационные и гибкие методологии, как средства реализации динамической модели требований
Разработка чего бы то ни было, будь то программное обеспечение, опытный образец продукта, методика или иной продукт творческо-производственной деятельности, происходит по одному и тому же укрупненному циклу:
– требования;
– проектирование;
– изготовление;
– проверка соответствия требованиям;
– устранение несоответствий;
… (пока не будет устранено несоответствие требованиями)
– проверка соответствия требованиям;
– приемка (передача в эксплуатацию)
Предсказуемость (да и возможность) выхода из этого цикла зависит от двух параметров:
– фиксированы ли требования,
– возможно ли исправить несоответствие требованиям.
Оба параметра, по сути, есть качества требования, а именно, неизменность и исполнимость. Таким образом, естественным выбором является сформировать исполнимые требования и зафиксировать их до окончания производственного цикла.
Это не что иное, как ранее упомянутая простая модель требований со всеми ее достоинствами и недостатками.
Производство не может работать в условиях динамической модели требований, потому что это станет непредсказуемо по времени и затратам ресурсов.
В то же время простая модель может не отвечать жизненным реалиям, которые скорее описываются динамической моделью.
В этом случае необходимо представить динамическую модель как последовательность простых. То есть, на какое-то время требования фиксируются, затем опять могут изменяться, затем снова фиксируются и т.д. Как это сделать?
Решением являются итерационные и гибкие методологии, которые, по сути, вводят какие-то законченные шаги, следующие друг за другом, на каждом из которых происходит фиксация требований, производство, приемка результата.
Читать дальшеИнтервал:
Закладка: