СТАТЬЯ
06.09.01

Решение парадокса разработки программного обеспечения: шесть стратегий ведущих компаний

Парадокс разработки программного обеспечения: скорость и качество

Переведено БНТП по заказу Interface Ltd.

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

В условиях современной цифровой экономики эффективная разработка программного обеспечения (ПО) стала определяющим фактором конкурентоспособности предприятий в любых сферах рынка. В июне 2000 года Министерство торговли США опубликовало исследование под названием "Цифровая экономика 2000", в котором было отмечено, что за период с 1995 по 1999 год инвестиции в ИТ-оборудование и ПО выросли более чем в два раза. В нем также указывалось, что за последние пять лет отрасли, связанные с информационными технологиями, обеспечили около одной трети реального экономического роста США. Причиной этого служит то, что во многих экономических секторах отрасли производства все больше и больше внедряют ПО, встроенные устройства и компьютерную инфраструктуру в свои продукты и деловые операции.

В использовании компьютерных возможностей большинство компаний уже преодолели такие традиционные барьеры, как производительность обработки информации, доступ к сети и емкость систем хранения данных. С другой стороны, способность постоянно и быстро создавать приложения высокого класса часто остается недостижимой. В действительности, согласно исследованию CHAOS, опубликованному в 1999 году группой Standish Group, только 26 процентов современных проектов по разработке ПО завершаются вовремя и не выходят за рамки бюджета.

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

СКОРОСТЬ: недопустимость задержек

Значительно выросли требования, предъявляемые разработчикам по скорости выпуска приложений на рынок. Поскольку рыночная новизна и конкурентоспособность значительно зависят от скорости развертывания нового программного обеспечения, сроки разработки приобретают особую значимость для бизнеса. Компании уже не могут ждать по 9-12 месяцев, пока группа разработки спроектирует, напишет, протестирует и отладит приложение. Неспособность ускорить процесс разработки приводит к потере важного удобного момента и проигрышу более проворным конкурентам. 

КАЧЕСТВО: недопустимость ошибок

Раньше, когда приложения создавались только для внутренних нужд, небольшие недостатки ПО могли разве что задержать проект, не более того. Сегодня программное обеспечение затрагивает каждую связь в цепи поставки. Ошибки могут привести к снижению прибыли и безвозвратной потере клиентов. Их недовольство может даже просочиться в СМИ и вызвать падение курса акций компании. Ставки в этой чрезвычайно открытой среде очень высоки, поэтому группы разработки должны постоянно создавать программы, которые способны круглосуточно и ежедневно удовлетворять потребности рынка.

Эти два требования – быстрый выход на рынок и особенно высокое качество – определяют суть "парадокса разработки ПО". Дистрибьютор, пытающийся расширить сферу своего электронного бизнеса, производитель электроники, пытающийся дифференцировать свои продукты по нишам рынка, поставщик инфраструктуры, пытающийся предложить услуги следующего поколения, – все они должны постоянно (и быстро!) создавать высококлассное программное обеспечение.

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

Что известно лидерам?

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

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

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

Профиль лидера

Lockheed Martin Canada

Компания Lockheed Martin Canada является основным канадским поставщиком электронных оборонных систем. Успех создания этих систем зависит от способности компании своевременно разрабатывать чрезвычайно сложные и высоконадежные приложения. Объем таких проектов часто достаточно широк, что вынуждает группы разработки управлять широким спектром требований, ресурсов и этапов создания.

По мнению руководителя проекта Рика Мартелли (Rick Martelli), компания Rational Software способствовала обеспечению соответствия групп разработки этим строгим требованиям. "Мы можем собрать требования, определить риски и поставить нашу работу под жесткий конфигурационный контроль, – заявляет Мартелли. – Предоставляемые возможности продуктов компании Rational уникальны".

Мартелли и его группа используют пакет Rational Suite Enterprise. С помощью инструментов компании Rational, несмотря на отсутствие прежнего опыта в их использовании, они быстро смогли ускорить процесс разработки. "Мы смогли быстро реализовать жестко контролируемый и упорядоченный подход, – добавляет Мартелли. – К тому же, стандартизация процесса позволяет новым членам группы сразу же приступать к работе".

Методы лидеров: шесть основных стратегий сокращения сроков и снижения риска

Успешное решение парадокса разработки ПО достигается группами разработчиков путем внедрения методов, оптимизирующих скорость и качество программирования. Эти оптимальные методики могут быть разбиты на шесть стратегических принципов:

1) Итеративная разработка программного обеспечения: снижение риска

Никто не может полностью устранить проблемы жизненного цикла разработки ПО. Однако, риск возможно определить заблаговременно, вне зависимости от фазы проекта – анализа, проектирования, тестирования, управления или программирования. Солидные компании по разработке ПО используют итеративный подход, позволяющий непрерывно совершенствовать результаты проекта (см. рис. 1).

Рис. 1: Метод непрерывной итеративной разработки ПО значительно снижает риск задержек выполнения проекта и перерасхода бюджета.

Использование итеративного метода разработки и подтверждение фактической реализации конкретных функциональных возможностей на определенных стадиях проекта позволяет группам разработчиков успешно управлять возникающими проблемами и обеспечивать качество работы на протяжении всего проекта.

2) Управление требованиями: начало успеха проекта

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

Лидирующие компании хорошо понимают, как сосредоточить проекты разработки на реальных задачах бизнеса, и постоянно используют при разработке этот вид финансовой дисциплины без ущерба скорости или качеству проекта (см. рис. 2).

3) Использование компонентных архитектур: фундамент повторного использования ПО

В больших, сложных системах существует опасность того, что изменение в одной части приложения может вызвать "эффект домино", влияя на многие другие его части. Успешные группы разработки отслеживают эти потенциальные зависимости путем создания архитектур на основе компонентов. Компоновка программного обеспечения из управляемых модулей позволяет создать эластичные и гибкие архитектуры, предотвращающие волновое распространение влияния изменения. Это также позволяет разработчикам строить приложения, которые можно просто модифицировать, не прикладывая значительных усилий.

При повторном использовании компонентов снижается также общий объем программного кода, который необходимо создать. Это еще более ускоряет разработку и снижает возможность возникновения ошибок в ходе процесса.

Рис. 2: Для достижения действительного успеха компаниям необходимо подняться над компромиссами между качеством и скоростью выхода на рынок.

4) Программы визуального моделирования: проект достижения успеха

Современное программное обеспечение выполняет очень сложные операции. Это вынуждает группы разработки искать интуитивно понятный и точный способ моделирования сложных функциональных связей. Отсутствие такой модели делает попросту невозможным понимание, определение или документирование создаваемых систем.

Для достижения этого критически важного уровня абстрагирования ведущие компании используют визуальное моделирование. Инструменты визуального моделирования позволяют руководителям и разработчикам понимать важные решения проекта и управлять сложной структурой системы. Использование такого языка моделирования, как ставший отраслевым стандартом язык UML, дает группам разработки общую платформу, упрощающую обмен информацией о сложных технических вопросах.

5) Постоянный контроль качества: повышение качества на всех стадиях разработки

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

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

6) Контроль изменений программного обеспечения: снижение количества ошибок и задержек проекта

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

Лидирующие компании понимают, что управление изменениями является ключом к определению приоритетов деятельности и целей группы. Контролирование изменений на протяжении жизненного цикла разработки ПО позволяет управлять его внутренней сложной структурой. Эти компании осознают, что если они не будут управлять изменениями, то изменения, несомненно, будут управлять ими.

Профиль лидера:

Choice Hotels

Компания Choice Hotels International лицензирует на правах франчайзинга более 4 392 отелей в 43 странах под марками Comfort Inn, Quality Inn и Econo Lodge. Бесперебойная работа этих отелей – от интерактивных систем бронирования мест до эффективного обслуживания клиентов – зависит от разработки качественных и быстро внедряемых приложений. "В управлении всем нашим бизнесом мы полагаемся на сложные программные системы. Чтобы мы могли гарантировать нашим клиентам наилучший уровень обслуживания, наше программное обеспечение должно быть наивысшего качества", – говорит Гэри Томсон (Gary Thomson), руководитель службы информации компании.

В начале выработки стратегии разработки и внедрения web-систем глобального франчайзера, группа по информационным системам компании Choice Hotels столкнулась с большими проблемами. Их причиной явился недостаточный обмен информацией между различными группами в процессе разработки. Чтобы усовершенствовать процесс разработки ПО, обеспечить его высокое качество, скорость и эффективное использование ресурсов, Гэри Томсон доверился инструментам компании Rational.

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

Rational Software: поставщик решений для разработки ПО

После своего основания в 1981 году компания Rational Software стала играть главную и уникальную роль в развитии проектирования и разработки программного обеспечения. Предлагаемое Rational решение разработки является всесторонним подходом к преодолению парадокса разработки ПО. Оно характеризуется полной интеграцией между используемыми оптимальными методиками, инструментами и услугами, предлагаемыми для ускорения достижения успеха (см. рис.3). Это решение полезно всем – с его помощью разработчики могут более продуктивно работать, заказчики и заинтересованные стороны могут активнее участвовать в процессе, а руководители могут упростить решение задач бизнеса. Результатом является своевременное создание высококачественного программного обеспечения.

Позволяя своим клиентам постоянно находиться на острие технического прогресса, компания Rational заключила партнерские соглашения с основными поставщиками ПО, включая IBM, Microsoft, Hewlett-Packard, Intel, Sun Microsystems и SGI. Программа стратегического партнерства Rational обеспечивает широкую совместимость продуктов и плавный переход к технологиям будущего. Кроме того, программа партнерства Rational Unified Partner Program открывает доступ к более чем 400 партнерам, включая консалтинговые фирмы, системных интеграторов и разработчиков технологий.

Уникальное решение Rational для разработки ПО включает многие новшества, повышающие скорость и качество создания программ, – от стандартных средств моделирования до акселераторов разработки, резко повышающих эффективность работы. Rational имеет богатый опыт создания практических новаторских решений проблем разработки ПО. Компания Rational первой приняла язык унифицированного моделирования UML, первой создала интегрированное решение для всего жизненного цикла разработки ПО и разработала процесс унифицированного управления изменениями (Unified Change Management), подняв его на новый уровень. Rational понимает проблемы, стоящие перед заказчиком, который должен быстро разрабатывать качественное ПО, и предлагает передовые методы их решения.

Лидерство Rational является общепризнанным в отрасли. По данным IDC, компания Rational четыре года подряд является лидером рынков множественной разработки и внедрения приложений. Решения Rational в области разработки ПО заняли 49-е место в рейтинге e-50 журнала Fortune и 45-е – в рейтинге e-business 50 журнала USA Today. Компания и ее решения получили множество наград от ведущих отраслевых организаций и изданий. Более подробную информацию о лидирующем положении Rational в области разработки ПО можно найти по адресу: www.rational.com/leadership.

Рис. 3: Решение компании Rational для разработки ПО объединяет три основных элемента в платформу успешного выполнения проекта.

Решения компании Rational для разработки ПО поддерживают успешную работу своего контингента заказчиков в трех направлениях:

Оптимальные методики: практичный процесс разработки

За 20 лет общения с заказчиками, занимающимися созданием сложных программных систем, компания Rational определила набор основных принципов, ведущих к созданию успешного программного обеспечения. Эти оптимальные методики сформулированы в процессе Rational Unified Process – наиболее всеобъемлющей и эффективной общей структуре оптимизации рентабельности разработки ПО. Rational Unified Process является процессом разработки ПО на основе Web, который предоставляет всем членам проектной группы описания оптимальных методик создания ПО. Ведущие мировые компании признали эффективность этих методик и их значение для решения повседневных вопросов разработки ПО. Rational Unified Process был принят такими компаниями, как IBM, Microsoft, Oracle, Sun Microsystems, Ernst and Young и многими другими.

Унифицированные инструменты: поддержка всей проектной группы

Передовые инструменты разработки компании Rational делятся на пять категорий: управление требованиями, визуальное моделирование, автоматическое тестирование, управление содержимым и управление изменениями. Они позволяют разработчикам быстрее и точнее выполнять свои порученные задачи. Будь это тестирование производительности web-приложения базы данных, поиск противоречия в проектной спецификации или предупреждение руководителя проекта о потенциальном перерасходе бюджета – инструменты Rational обеспечивают выполнение каждого аспекта процесса разработки в тот момент и таким образом, как это было запланировано.

Услуги: ускорение успеха

В то время, когда недостаток опытных разработчиков и руководителей разработки ощущается острее, чем когда-либо, Rational предлагает всесторонние и весьма привлекательные услуги для компаний, нуждающихся в ускорении разработки безупречных приложений. Ценность этих услуг заключается в предложении того же уровня опыта, который формирует основу предложений оптимальных методик и инструментария компании Rational. Они включают техническую поддержку и непосредственное применение инструментов Rational (а также продуктов выбранных партнеров), услуги по консультации и внедрению проекта разработки, а также различные, экономически эффективные предложения по обучению. Эти услуги помогают компаниям еще более снизить риск реализации проекта и еще быстрее выйти на рынок.

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

Профиль лидера:

John Hancock Financial Services

Корпорация John Hancock Financial Services и ее дочерние компании предлагают розничным клиентам и организациям широкий спектр страховых и инвестиционных продуктов и услуг. Группы разработки ПО этой корпорации используют различные инструменты Rational, включая Rational RequisitePro, Rational ClearQuest, Rational ClearCase и Rational Robot для разработки и внедрения надежных приложений, способных поддерживать растущую инфраструктуру и большой контингент клиентов. Карл Фоулер (Carl Fowler), директор отдела обеспечения качества ПО, понимает значение своевременного создания высококачественного программного обеспечения: "Использование интегрированного решения для всего жизненного цикла ПО дает нам возможность измерять общее качество разрабатываемых приложений и представлять его нашим заказчикам".

Фоулер и его группа повысили надежность и эффективность приложений путем использования оптимальных методик и непрерывной проверки качества: "Инструменты Rational позволили нам стандартизировать процесс разработки и автоматизировать области ее жизненного цикла. Теперь мы экономим по шесть недель на каждом основном цикле разработки".

Дополнительную информацию о способах преодоления парадокса разработки программного обеспечения с помощью решений Rational Вы можете получить здесь.

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Rational Software
Отправить ссылку на страницу по e-mail


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 06.09.01