Страница 18 из 19 Можно ли считать RUP гибким методом? Всякий раз при обсуждении методов разработки ПО в сфере объектно-ориентированных технологий, разговор неизбежно заходит о роли Rational Unified Process (Рациональный Унифицированный Процесс). Унифицированный Процесс был разработан Филиппом Крачтеном (Philippe Kruchten), Иваром Якобсоном (Ivar Jacobson) и другими сотрудниками компании "Rational Software" в качестве дополнения к языку моделирования UML. RUP представляет собой каркас для процессов, и таким образом, включает в себя огромное их количество. Именно эта черта RUP вызывает основную критику - поскольку он может быть чем угодно, его нельзя считать ничем определенным. Мне же больше по душе те процессы, в которых вам ясно указывается, что делать, вместо того, чтобы предоставлять бесконечные возможности. В результате такого каркасного построения RUP можно использовать и как основу для самого, что ни на есть традиционного водопадного стиля разработки, и в качестве гибкого процесса. Итак, RUP может быть и гибким, и тяжеловесным процессом - все зависит от того, как вы будете его применять в вашем конкретном случае. Крэйг Ларман (Craig Larman) - один из пропагандистов использования RUP в качестве гибкого процесса. В своей замечательной книге - введению в объектно-ориентированную разработку ПО он описал процесс, который в большой степени основан именно на таком восприятии RUP. Крэйг считает, что недавний переход к новым гибким методологиям на самом деле ничто иное, как принятие идеи объектно-ориентированной разработки, которую как раз и отражает RUP. Он рекомендует всей команде разработчиков проводить первые два-три дня каждой итерации (продолжительность которой составляет месяц), принимая предварительные решения по построению системы и оформляя их в виде UML-диаграмм. Эти диаграммы - не строгое предписание, от которого нельзя отклониться, а лишь набросок, дающий разработчикам представление о работах, намеченных на данную итерацию. Еще одним вариантом "гибкого RUP" является процесс dX Роберта Мартина (Robert Martin). dX - это процесс, полностью соответствующий RUP, и при этом являющийся копией ХР (чтобы понять шутку, переверните "dХ"). dX создан для тех, кто вынужден использовать RUP, хотя хотел бы работать по XP. А этот процесс является одновременно и XP, и RUP, что являет собой хороший пример "гибкого" использования RUP. Мне кажется, что лидеры RUP должны со всей определенностью заявить о своем подходе к разработке ПО. Несколько раз я слышал, что те, кто использует RUP, применяют водопадный стиль разработок. Согласно моим сведениям, Филипп Крачтен и его команда являются твердыми сторонниками итеративности процесса. Объяснив свою позицию, а также поощряя гибкие варианты RUP (такие как процессы Крэйга Лармана или Роберта Мартина) они внесли бы ценный вклад в дело развития методологий. Прочие источники Существует еще множество других работ и дискуссий на тему легких методологий. Возможно, их нельзя назвать настоящими, оформленными методологиями, однако в них тоже встречаются интересные идеи. В конференциях Patterns Language of Programming часто встречаются материалы на данную тему (наверное, потому что те, кто интересуется паттернами, интересуется также и более адаптивными и ориентированными на человека методами разработки ПО). Основным источником из числа ранних работ на эту тему была работа Джима Коплейна в PLoP1. В PLoP2 появился Episodes pattern language Уорда Каннингэма. В настоящее время Джим Коплейн поддерживает сайт OrgPatterns, который представляет собой wiki (среду для совместного ведения записей), где собираются и организовываются паттерны. Дирк Риэль (Dirk Riehle) отправил работу на XP2000. В этой работе он сравнивает характеристики XP и Adaptive Software Development. В письме Коада сравниваются уже XP и FDD. В июльском номере "IEEE Software" есть несколько статей на тему "многообразия процессов", где также говорится об этих методологиях. Отдельно хочется упомянуть замечательную статью Мэри Поппендик (Mary Poppendieck), в которой она сравнивает гибкие методологии с неприбыльным производством. |