Читаем Скрам полностью

Разрабатывая программное обеспечение, я создаю набор логически взаимосвязанных инструкций, которые посылают сигналы, управляющие аппаратурой и ее взаимодействием с другими аппаратами, людьми или окружающей средой. Уровень точности, необходимый для успешного функционирования ПО, варьируется от невероятного до по-настоящему пугающего. Любой из этих объектов может оказаться комплексным. А когда эти комплексные объекты вступают во взаимодействие, уровень сложности зашкаливает. Рассматривая далее комплексную природу разработки программного обеспечения, давайте ограничимся тремя наиболее важными измерениями: требованиями, технологиями и людьми.

Требования к программному обеспечению бывают и простыми. Допустим, существует всего лишь один клиент, который будет единственным пользователем системы. Он может провести достаточное количество времени с разработчиком, чтобы четко согласовать то, что нужно создать. Предположим, что этот клиент, к несчастью, умирает сразу после подтверждения своих требований. В этом случае его требования остаются неизменными в ходе разработки: нет корректировок, пересмотров, уточнений, модификаций в последнюю минуту. Однако обычно заинтересованных лиц (тех, кто заинтересован в программном обеспечении и деталях его реализации) много. У них разные потребности, эти потребности трудно однозначно сформулировать, и они часто меняются. В большинстве случаев клиенты начинают понимать, чего хотят, только когда другие люди демонстрируют им, как поняли их желания. Их требования такие комплексные не только из-за своей неоднозначности, но и из-за постоянной изменчивости.

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

На рис. 1.1 вертикальная ось показывает комплексность требований, а горизонтальная – комплексность технологии. Пересечение этих двух видов комплексности определяет общий уровень комплексности проекта. Почти все проекты разработки программного обеспечения сегодня – комплексные. А некоторые даже хаотичны, но в них невозможно работать, пока часть сложностей не будет устранена.

Третье измерение комплексности – люди, разрабатывающие программное обеспечение. У всех разные интеллектуальные способности, навыки, опыт, точки зрения, взгляды, убеждения и предрассудки. В зависимости от качества и количества сна, состояния здоровья, погоды, соседей и отношений в семье каждый человек каждое утро просыпается в настроении, непохожем на вчерашнее. Затем эти разные и переменчивые люди начинают работать вместе, и уровень комплексности зашкаливает. Принимая во внимание третье измерение комплексности – людей – в дополнение к технологиям и требованиям, я считаю, что последний «простой» проект случился в 1969 году, когда один человек из отдела обработки заказов в Sears Roebuck попросил меня отсортировать несколько карточек и создать отчет на IBM 360/20. С тех пор все становится более беспорядочным. Скрам помогает решать проблему комплексности проектов разработки программного обеспечения с помощью эмпирического процесса, включая обязательные требования его прозрачности, инспекции и адаптации, а также с помощью набора простых практик и правил, которые описаны в следующих разделах.

<p><emphasis>Скелет и сердце скрама</emphasis></p>

Все практики скрама держатся на скелете итеративно-инкрементального процесса. Он изображен на рис. 1.2. Нижний круг представляет собой итерацию разработки программного обеспечения. Итерации следуют одна за другой. Содержание работы в каждой итерации основывается на списке требований. В результате каждой итерации получается инкремент продукта. Верхний круг представляет собой ежедневную инспекцию в ходе итерации: участники команды разработки собираются вместе для инспекции работы, выполненной каждым за день, и для принятия мер по адаптации дальнейшей работы. Цикл итераций завершается, когда проект перестает финансироваться.

Рассмотрим устройство скелета. В начале итерации команда разработки анализирует, что она должна сделать. Затем выбирает требования, которые сможет к концу итерации превратить в инкремент готовой к поставке[6] функциональности. В ходе итерации команда прилагает для этого все усилия, а любые заинтересованные лица не отвлекают команду до конца итерации. По завершении итерации команда разработки демонстрирует созданный за итерацию инкремент продукта, чтобы заинтересованные лица могли произвести его инспекцию и соответствующие адаптации в проекте могли быть произведены своевременно.

Перейти на страницу:

Похожие книги

42 истории для менеджера, или Сказки на ночь от Генри Минцберга
42 истории для менеджера, или Сказки на ночь от Генри Минцберга

В своей новой книге выдающийся теоретик менеджмента Генри Минцберг предлагает радикально переосмыслить существующие стратегии управления организацией. Противник формального подхода в любой работе, автор рассуждает на «неудобные» темы: отсутствие «души» в современных компаниях; важность традиций перед лицом инноваций; ответственность за качество товаров и услуг; контроль над положением дел на «низших» уровнях иерархии.Как всегда, Минцберг предлагает дерзкие и резонансные решения, иллюстрирующие извечную мудрость: «Всё гениальное – просто». А предложенная автором стратегия «сообщественности» – шанс для многих руководителей вдохнуть в свою компанию новую жизнь.Адресовано менеджерам любого звена, государственным служащим на руководящих должностях и всем, кому небезразлична судьба команды, в которой они работают.В формате a4.pdf сохранен издательский макет.

Генри Минцберг

Деловая литература / Зарубежная деловая литература / Финансы и бизнес
Съедобная экономика. Простое объяснение на примерах мировой кухни
Съедобная экономика. Простое объяснение на примерах мировой кухни

Всемирно известный экономист Ха-Джун Чанг приглашает читателей в увлекательное и неординарное кулинарное путешествие по экономической теории и практике. Используя знакомые продукты, от лапши и чеснока до кока-колы и кофе, он доступно объясняет самые сложные темы: свободную рыночную экономику, индустриализацию, глобальную конкуренцию, протекционизм, социальное неравенство, предпринимательство, корпоративный успех, роботизацию и будущее рынка труда. С каждым ингредиентом, приправой или напитком он создает яркое повествование, помогающее разобраться в запутанных вопросах глобальных рынков, систем поставок и многого другого.Книга рекомендуется всем, кто хочет понять, как устроена экономика и как она влияет на наше общество и жизнь каждого из нас.

Ха-Джун Чанг

Экономика / Зарубежная деловая литература / Финансы и бизнес