В двух ключевых докладах были рассмотрены основные аспекты разработки программного обеспечения — технологический и экономический — в связи с изменением роли ПО на предприятиях и необходимостью создавать решения не только для поддержки бизнеса, но и для его развития.
Первую тему применительно к корпоративным продуктам нового поколения раскрыл Кейт Шорт, архитектор Microsoft Data and Modelling Group. Он является одним из создателей методологии разработки на базе моделей (Model-Driven Development, MDD), принимает непосредственное участие в проекте Microsoft, известном под кодовым названием Oslo и предусматривающем создание технологии MDD, которая войдет в новую платформу Visual Studio 2010. Шорт перечислил основные проблемы современной разработки: превышение заданных сроков, недостаточный уровень качества, разобщенность этапов жизненного цикла ПО, сложности управления изменениями в проекте, необходимость постоянно совершенствовать квалификацию разработчиков в погоне за технологическими новшествами. Одним из действенных рецептов преодоления проблем он считает повышение абстракции разработки, переход от абстракции на уровне языков программирования к абстракции на уровне платформы. Все вышеперечисленное и призвана обеспечить технология MDD. Как утверждается, последние разработки Microsoft обеспечат автоматизацию перехода от модели к исполняемому коду и будут способствовать повышению продуктивности работы команды и результативности.
Уокер Ройс, вице-президент IBM Software Group, должность которого в компании обозначена как Chief Software Economist, представил свой взгляд на экономику разработки программного продукта. По мнению Ройса, сегодня, когда отношение к разработке как сугубо техническому процессу меняется и в ней все чаще видят процесс, призванный обеспечить реальный результат для бизнеса, на первый план выходят не технические, а экономические аспекты. Ройс выделил четыре основных фактора, определяющие экономику создания программного продукта: сложность, процесс, совместная работа в команде, инструментарий для автоматизации разработки. Каждый из этих факторов можно, в свою очередь, разбить на составные компоненты. Например, сложность является функцией сложности алгоритмов, требуемого уровня надежности, необходимой производительности и требований к повторному использованию ПО. По мнению Ройса, все более популярный сегодня «скорый» (agile) процесс разработки демонстрирует гораздо большую экономическую эффективность по сравнению с традиционным «водопадным» методом. Скорая разработка положительно влияет на совместную работу в команде, ускоряет взаимодействие между людьми и между инструментами, которые они используют.
Роль инструментария автоматизации Ройс видит в улучшении процессов разработки и эффективной поддержке совместной работы членов команды, на что, в частности, делает акцент новая платформа разработки IBM Jazz. Ее важное отличие от всего того, что раньше делала IBM и другие производители, — в изначальной интегрированности инструментария для разных этапов жизненного цикла разработки, от дизайна до тестирования.
На вопрос, кто в коллективе разработчиков отвечает за решение экономических вопросов, Ройс ответил, что ответственность должна лежать на команде управления проектом разработки, включающей в себя менеджера проекта, менеджера по тестированию, менеджера по разработке и архитектора. Все эти роли могут быть объединены, если разработку ведет небольшой коллектив; это могут быть четыре разных человека в группе разработчиков среднего масштаба или 40 человек, если надо управлять командой из нескольких сотен разработчиков.