Аналогия RUP с буфетомДуг Фут (Doug Foote), cпециалист по управлению проектами
Работая в компании Page Technologies, я имел возможность познакомить с методологией RUP (Rational Unified Process) ряд сотрудников, специализирующихся в различных предметных областях, причем это происходило по различным сценариям. В некоторых сценариях у меня была роль руководителя проекта, в других - роль сотрудника отдела сбыта, а иногда я проводил семинары. Всякий раз главная задача заключалась в том, как доходчиво объяснить людям замечательные возможности методологии RUP. В конце концов, я пришёл к выводу, что RUP полезно сравнивать с буфетом или рестораном. Это довольно точное сравнение. Правда, эта аналогия полезна лишь тогда, когда вам нужно продать или внедрить RUP в организации. Сравнение RUP с буфетом очень хорошо помогает объяснить такие основные концепции RUP как четыре фазы, итеративная разработка, адаптация RUP к конкретным производственным требованиям и т.д. Оно полезно в следующих случаях:
Цель этой статьи - не анализ скорости окупаемости или эмпирических данных с целью доказать полезность внедрения RUP. Цель - провести аналогию, которая поможет читателям понять, как лучше внедрять методологию RUP. Основная аналогияНачну с того, что я люблю буфеты. Мне очень понравились местные китайские, индийские, тайские и мексиканские буфеты, которые я посетил вместе со своими коллегами-разработчиками за многие годы работы. Несколько лет назад, во время одного из таких походов в ресторанчик в Миннеаполисе, меня осенило: RUP чем-то напоминает посещение такого буфета. У вас есть требования, вам предлагают соответствующее решение. Требования диктуются потребностью (голодом), а решение (пища) предлагается буфетом. А доставка этого решения в желудок называется процессом. Вероятно, вам доводилось посещать какой-нибудь буфет несколько раз (это итерации) и пользоваться несколькими инструментами и операциями, чтобы есть различные блюда (фазы). Подробнее эта аналогия описана в таблице 1. Таблица 1. Сходство между RUP и буфетом (рестораном)
Цель этого сравнения - показать, что RUP не предлагает нечто по принципу "всё или ничего". Методика RUP не заставляет группу разработчиков использовать всё мыслимые операции, шаблоны и артефакты. Нужно лишь адаптировать процесс, подогнать его под конкретные требования. Так же, как в ресторане всегда приходится пользоваться посудой, без которой нельзя обойтись во время еды, например, тарелками, ложками, ножами и вилками, так и в процессе RUP есть основные аспекты (фазы, итерации и т.д.), которые используются в любом проекте. Но вам нужно решать, что класть на свою тарелку, и как часто ходить в буфет. Так же и в процессе RUP вы должны решить, что именно внедрить в своём проекте, что необходимо для выполнения всех требований. В конце концов только вы со своей группой решаете, как реализовать этот процесс. Подготовка к применению RUPПриобретите знания и опытСовершенного правила по применению RUP не существует; всякий раз нужно оценивать ситуацию в организации, применять лучшие методы работы, вести разработку итеративно, заинтересовать всех членов группы. Первый шаг к успеху - "познание себя". Если вы попытаетесь внедрить в организации RUP, не имея опыта, вам придется очень трудно. Сначала нужно получить необходимые знания и опыт. Пообщайтесь с группами пользователей RUP, с теми разработчиками, которые уже имеют опыт внедрения и применения RUP. Изучите форумы на странице http://www.rational.com/support/usergroups/index.jsp, в том числе обсуждение процесса Rational Unified Process. Опыт и знания помогут вам значительно эффективнее привить RUP вашей группе разработчиков. Изучите организациюВажно понимать, что сотрудники вашей организации могут существенно различаться по уровню опыта; это нужно изучить и учесть. Возможно, окажется, что некоторые сотрудники имеют опыт разработки, другие - в бизнесе, третьи хорошо знают предметную область и т.д. У некоторых уже сложилось мнение о том, каким должен быть процесс разработки, кто-то предвзято относится к RUP. Будьте готовы отвечать на любые вопросы, чтобы вас не застали врасплох те, кто относится к RUP враждебно. Готовясь к собранию, запишите вопросы, которые могут вам задать сотрудники, имеющие опыт работы в тех или иных областях. Затем составьте информативные ответы, которые помогут этим сотрудникам понять, какое нужно принять решение. Изучите имеющийся опыт внедрения RUPВыясните, есть ли в вашей организации сотрудники, которые уже имеют опыт применения RUP, особенно отрицательный. Как правило, отрицательное впечатление складывается в случае неверного внедрения RUP, когда эту методологию ошибочно представляют:
Предварительно поговорите с группой, отвечающей за успех проекта, чтобы понять, каков их опыт, с какими они сталкивались проблемами. Будьте готовы ответить тем, кто будет возражать против вашей инициативы по внедрению RUP на основе своего отрицательного опыта, полученного в результате неверного применения RUP. Выявите также и тех, у кого есть удачный опыт по применению RUP. Выясните, что именно в их опыте было удачным (желательно узнать об оценке итераций, как были решены проблемы), запишите эту информацию, а затем воспользуйтесь ею для убеждения лиц, принимающих решения. ЗаключениеНекоторые понимают суть RUP сразу, а другим для этого требуется время. Попробуйте объяснить им с помощью аналогии с буфетом. У меня это всегда получалось хорошо, особенно в разговоре с людьми, ещё не знакомыми с процессом RUP. Заинтересуйте своих собеседников этой аналогией, может быть, они сами найдут больше примеров и параллелей. Такое упражнение займёт не более пары минут, увлечёт собеседников и поможет им лучше понять, что вы им предлагаете. |