Компания Borland Software одобрила метод гибкого (agile) программирования в качестве основного принципа стратегии разработки ПО, направленной на ускорение создания приложений и снижение затрат.
На конференции, проходившей в августе в Торонто, Пит Моровски, старший вице-президент Borland по исследованиям и разработкам, выступил с докладом на тему “Внедрение гибкого программирования сверху вниз”. В интервью еженедельнику eWeek он сообщил, что в основе этого решения лежит стремление обеспечить более предсказуемые сроки выпуска продуктов, улучшить их качество и повысить степень удовлетворенности пользователей: “Мы решили, что нам необходима более гибкая организация работы над созданием ПО. Это сделает нашу компанию в целом более гибкой”.
По словам Моровски, опасения, связанные с переходом к гибкому программированию, вызваны главным образом возможностью утраты контроля над ходом работ. Но в действительности контроля никогда и не было. Менеджеры проекта составляют календарные графики. Однако устанавливаемые ими сроки никак не отражаются на том, что делают их подчиненные. Невозможно составить представление, как в реальности протекает разработка. Поэтому календарные графики превращаются из инструментов управления процессом выпуска ПО в средства подготовки отчетов. Гибкое программирование способно изменить ситуацию.
Этот подход включает несколько методик, позволяющих сделать процесс разработки ПО более эффективным и продуктивным за счет поэтапного создания небольших фрагментов конечного кода. “Мне предстоит управлять переходом к гибкому программированию, — сказал Моровски. — Я должен оценить такой метод с точки зрения бизнеса, определить, как он будет работать в наших условиях. Мне необходимо рассмотреть традиционный и новый подходы, чтобы понять, где применение гибкого программирования даст наилучшие результаты. В сущности, меня интересует не столько используемая методология, сколько получение предсказуемых, высококачественных результатов. Для решения этой задачи мне необходимо собрать информацию. ПО TeamAnalytics позволяет мне видеть, что работает, а что нет, выявлять тенденции и те области, которые требуют повышенного внимания, и принимать решения на основе этих сведений”.
Моровски заявил также, что при принятии организацией решения о путях перехода к гибкому программированию важнейшее значение имеет анализ текущих и прошлых показателей. Это единственный способ планирования успешного перехода. “Именно фактические данные помогли мне понять, что гибкое программирование обеспечит разработчикам важнейшие преимущества. Благодаря этому я могу назвать те проекты, для которых подобный переход имеет наибольший смысл”, — сказал он.
Что побудило Borland использовать гибкий подход в стратегии разработки?
Созданием ПО в компании занимается свыше 350 сотрудников, которые трудятся в пяти основных офисах, в том числе в Азии и в Европе. Коллектив разработчиков разбит на группы из 12–35 человек и производит очень широкий набор продуктов. В этот набор входят новые и вспомогательные проекты, предназначенные как для независимых производителей ПО, так и для корпоративных ИТ-подразделений. В прошлом эти группы работали в значительной мере независимо друг от друга. Проекты практически не имели точек соприкосновения и не влияли друг на друга. Однако новая бизнес-стратегия Borland, предусматривающая объединение продуктов в интегрированные пакеты, требует более тесной координации деятельности отдельных групп, сказал Моровски.
“Придя на работу в Borland, я обнаружил, что подготовкой ПО занимались удаленные друг от друга подразделения, управлять этим процессом было крайне сложно, а структура затрат и инвестиций не соответствовала стратегическим целям компании, — сказал Моровски. — Более того, группам разработчиков зачастую бывало трудно согласованно достичь поставленных целей. Моя задача заключалась в установлении более строгого контроля над текущими операциями, сокращении затрат, создании более эффективной организационной структуры и повышении качества работы. Я решил усовершенствовать организацию труда. Одним из направлений стало более широкое использование гибкого программирования”.
Первый опыт Borland в этой области был типичен для многих организаций: инициатива исходила от нескольких групп разработчиков. Однако были и различия. Эти группы сразу же встретили понимание и получили поддержку со стороны руководства. В значительной мере это объясняется тем, что одна из групп отвечала за создание нового продукта, который мог пригодиться клиентам для управления проектами с помощью методики Scrum.
Поступив в Borland в 2006 г., Моровски обнаружил, что компания уже готова к внедрению гибкого программирования. Некоторые группы разработчиков либо экспериментировали со Scrum, либо использовали данную методику. Другие группы, не использовавшие Scrum, посматривали на них со скептически.
Однако не вызывало сомнений, что гибкое программирование широко обсуждается в компании, и многое свидетельствовало, что даже в таком виде оно позволяет добиться успеха. Это проявлялось в более совершенном управлении выполнением требований, предъявляемых к продуктам, активном использовании в процессе разработки имеющихся заделов и накопленного опыта, в тесном сотрудничестве групп разработчиков в результате ежедневных личных встреч и более полном представлении о текущем состоянии проекта благодаря частой интеграции фрагментов программ и выпуску отдельных частей рабочего кода.
Обычно рабочий день программиста в Borland начинается с заседания, на котором группы подводят итоги предшествующего дня, определяют планы на текущий день и рассматривают возникшие трудности. “Наши команды разработчиков используют во время этих заседаний ПО TeamFocus. Оно отображает состояние дел на большом экране, который могут видеть удаленные сотрудники, — сказал Моровски. — Если меняются задачи или пересматривается проделанная работа, они могут сразу же войти в систему, которой пользуются на протяжении всего дня. Это позволяет держать разработчиков и всю компанию в курсе состояния проекта. После заседания программисты расходятся по своим местам и приступают к делу. В этом вся прелесть используемого подхода”.
Моровски отметил также, что Borland не ограничивается совершенствованием процесса разработки. Компания стремится также повысить эффективность предшествующих и последующих этапов, чтобы повысить темпы выпуска продуктов: “Циклы разработки уже не составляют один-два года, как прежде. Это заставляет иначе формулировать предъявляемые к продукту требования и перестраивать процесс выпуска новых продуктов, чтобы привести его в соответствие с изменившейся периодичностью”.
Моровски сообщил также, что новая штаб-квартира компании спроектирована в расчете на поддержку гибкого программирования. Что касается связанных с этим преимуществ, то по его словам, компании удалось вдвое увеличить количество ежегодных релизов. “Мы установили тесные и плодотворные взаимоотношения между производителем и клиентами, а также углубили отношения со многими нашими стратегическими заказчиками, которые приняли участие более чем в 50 небольших исследованиях, посвященных работе наших продуктов”, — отметил он.
С Благодаря TeamFocus, своей технологии, позволяющей использовать гибкое программирование, компания за каждые три недели экономит по 15 ч, которые раньше тратились на решение административных задач и планирование работы. “Кроме того, могу сообщить, что теперь вице-президентам и директорам не приходится тратить шесть дней в месяц, чтобы заслушивать отчеты только одной группы разработчиков”, — сказал Моровски и добавил, что Borland повысила качество продуктов, сократив на 50% количество нерешенных вопросов, которые остаются после очередного релиза в ожидании следующего.
Borland TeamFocus — продукт для управления корпоративными проектами, который помог компании перейти к гибкому программированию, осенью станет общедоступным. Он предназначен для поддержки как гибкого, так и традиционного подхода к разработке ПО, позволяя группам программистов трудиться наиболее эффективно. Например, те из них, кто применяет гибкое программирование, используют TeamFocus для планирования выпуска релизов, прохождения этапов, управления ходом выполнения заданий и использования накопленного опыта, для организации сотрудничества на основе календарных графиков и досок объявлений, пояснил Моровски: “Данный инструмент позволяет повысить производительность труда разработчиков и одновременно автоматически предоставляет менеджерам возможность наблюдать за процессом работы. Сегодня инструмент TeamFocus используется в Borland при гибком программировании для управления ежедневными совещаниями и подведения итогов по завершении очередного этапа. Кроме того, он широко применяется для сопоставления достигнутого за день прогресса с плановыми показателями, учета последних изменений и контроля за всем, что необходимо для завершения очередного этапа. Что касается управления разработкой продуктов, то руководителям департаментов TeamFocus позволяет просматривать полный перечень всех проектов. Они могут видеть текущие, снятые “на лету” показатели, которые TeamFocus получает с помощью инструментов управления жизненным циклом приложений (Application Lifecycle Management, ALM). В нашем случае это Borland Caliber, Borland StarTeam и Borland SilkCentral Test Manager”.