Программирование — технология или искусство? Этот вопрос начал активно обсуждаться еще 30—40 лет назад, когда профессия разработчика ПО из разряда уникальных стала переходить в массовую. И нужно сказать, что точного ответа на него до сих пор нет и вряд ли он может быть. Истинность этого утверждения в очередной раз подтвердилась на прошедшей в конце мая в Москве двухдневной конференции Software People, где значительная часть выступлений и дискуссий была посвящена именно программистским проектам. Отметим, что устроителю мероприятия — компании Careerlab — удалось организовать интересный обмен мнениями по этой тематике с участием представителей как ведущих зарубежных производителей софта, так и отечественных разработчиков ПО. В значительной степени тон всему мероприятию задал своим пленарным выступлением директор программы “Unleash the Labs” подразделения IBM Rational Рик Уивер, который, в частности, сделал акцент на ключевой роли человеческого фактора в проектах разработки ПО. Эти же вопросы стали предметом его беседы с обозревателем PC Week/RE Андреем Колесовым.
PC Week: Если задуматься, какое место занимают вопросы разработки ПО в общей проблематике ИТ, то создается впечатление, что эта тема за последнее десятилетие ушла из поля зрения широкой общественности и переместилась исключительно внутрь программистского сообщества. Но сейчас, кажется, наблюдается обратный процесс, когда к деятельности разработчиков опять повышается интерес бизнес-пользователей. Что вы можете сказать по поводу такой оценки?
Рик Уивер: В целом я готов согласиться с ней. И хотел бы высказать свое мнение — почему это происходит. Дело в том, что многие десятилетия ИТ-заказчики в основном контактировали именно с программистами, которые для них олицетворяли все сообщество ИТ-специалистов. Но по мере повышения зрелости ИТ-рынка и формирования на нем системы разделения труда разработчики ПО оказались отделенными от пользователей мощным слоем других ИТ-профессионалов: менеджеров, системных администраторов, инженеров технической поддержки. Заказчики, в том числе и топ-менеджеры, знают о существовании программистов и в целом понимают их важную роль в ИТ, но что и как те делают на самом деле, они не очень понимают. Реализация программистских проектов для бизнеса — это в большой степени загадка. Да и потом не очень ясно, зачем вообще нужны такие разработки (если говорить о заказных проектах), если на рынке полно программных продуктов.
Но сейчас всем понятно, что одними готовыми решениями не обойтись. В то же время идет процесс, который характеризуется сближением бизнеса и ИТ, Заказчик отчётливо видит: для того, чтобы ИТ лучше соответствовали его требованиям, он должен лучше понимать и контролировать ИТ-процессы, в том числе и разработку ПО. Но если программистские проекты являются для пользователя “черным ящиком”, так что оценить всю работу можно только в последний момент, когда уже получен конечный результат, то процесс разработки контролировать невозможно. Причем это проблема не только для бизнес-заказчика, но и для профессиональных ИТ-менеджеров.
Соответственно сейчас стоит задача повышения прозрачности реализации программистских проектов и как следствие этого — повышение интереса к их “внутренней кухне” со стороны более широкой аудитории. В свою очередь и разработчики софта понимают, насколько важна открытость их работы для улучшения взаимодействия с клиентами и повышения собственного общественного статуса.
PC Week: Довольно условно, но все же сообщество разработчиков можно разделить на два лагеря — создателей проприетарного и открытого ПО. При этом они различаются не только схемами лицензирования конечных результатов труда, но и организацией процессов создания продуктов. Как идет обмен опытом между этими двумя частями софтверной отрасли?
Р. У.: Лет десять-пятнадцать назад такое размежевание было довольно резким, и можно было даже говорить о двух враждебных лагерях, представители каждого из которых считали, что должны непременно победить противника. Но потом наступил естественный период мирного сосуществования, в ходе которого граница между ними все более размывалась. Набирали силы интеграционные процессы создания гибридных моделей разработки ПО. Посмотрите: почти до конца 90-х годов именно лидирующие в мире софтверные компании считались носителями передового опыта в этой сфере и передали свой опыт, в том числе в области управления проектами, другим разработчикам. А потом пошел встречный процесс, когда лидеры стали сами внимательно изучать опыт других, в том числе сообщества Open Source.
Мне кажется, что как раз корпорация IBM одной из первых оценила важность таких интегрированных подходов к разработке ПО и стала строить свою стратегию именно на основе подобных современных схем создания софта. Мы начали эту работу в направлении Linux. Потом мы инициировали Eclipse, который стал одним из ключевых глобальных открытых проектов.
Вообще я считаю, что в процессах разработки ПО, а точнее, в комплексе задач управления жизненном циклом приложений (ALM) за последнее десятилетие произошло примерно то же, что в области коммуникаций, когда на смену традиционным средствам связи пришел Интернет, который, сделав ставку на открытые стандарты и участие в его развитии всех желающих, позволил на качественно новом уровне решить вопросы масштабируемости и надежности.
IBM уже давно строит свою софтверную деятельность на базе широкого применения открытого кода и открытых стандартов, и на мой взгляд, стратегические линии нашей корпорации и сообщества Open Source вполне совместимы и удачно дополняют друг друга. Собственно, все эти идеи лежат в основе нашего глобального проекта Jazz, который в том числе нацелен на поддержку обмена опытом как между IBM и независимыми разработчиками, так и внутри всего программистского сообщества.
PC Week: А существуют ли в этом мировом сообществе национальные и географические границы, или оно уже стало действительно глобальным, наднациональным?
Р. У.: Уровень глобализации в софтверной среде очень высок, наверное, он самый высокий среди всех отраслей мировой экономики. Реализация проектов международными распределенными командами — это уже обычное дело, и развитие ALM-средств во многом определяется именно ориентацией на поддержку такой тенденции. В то же время, конечно, сохраняются определенные национальные и культурные различия, и это очень хорошо, поскольку позволяет использовать все достоинства распределенной разработки за счет тех или иных сильных сторон разных групп программистов.
PC Week: Какова ваша оценка российских разработчиков как членов мирового сообщества?
P. У.: Они — полноценные и очень важные члены этого сообщества. Я вижу, что ваши программисты отлично вписались в него. При этом у них есть свой опыт, который интересен всем. Например, в организации распределенной разработки есть реальная географическая проблема, связанная с разницей во времени между участниками процесса. В России, кажется, более десяти часовых поясов, и ваш опыт решения проблем взаимодействия полезен, в том числе и для IBM.
Что касается национальных аспектов, то общего тут гораздо больше, чем различий. Это относится и к России.
PC Week: В течение довольно долгого времени мы наблюдали водораздел в сообществе разработчиков по другому языковому принципу — на уровне языков программирования. А в последние годы активное противопоставление между, например, Java и .NET или средствами разработки IBM и Microsoft явно отошли на второй план. Вы согласны с таким наблюдением?
Р. У.: В целом — да. Это следствие повышения зрелости софтверной отрасли и смещения спектра проблем с нижнего уровня написания кода в сторону решения общих задач управления жизненным циклом приложений.
PC Week: Еще лет пять назад аналитики говорили о том, что рынок независимых средств разработки исчезает, потому что инструментарий превращается в приложение к платформам. А что по этому поводу можно сказать сейчас?
Р. У.: Да, процесс такой интеграции различных направлений ПО — это относится не только к средствам разработки — идет, но отчетливо наблюдается и другая тенденция: обеспечение независимости программных компонентов от конкретных платформ. Если говорить о Rational, то наша стратегия была и остается направленной именно на поддержку гетерогенных сред.
PC Weeк: В своем выступлении на конференции Software People вы сделали особый акцент на значимость человеческого фактора, сказав, что люди, не организации, создают великое ПО. Что вы хотели этим подчеркнуть?
Р. У.: Этот тезис я считаю принципиально важным. Мы сейчас должны ориентироваться на использование модели распределенной географической разработки. Это становится общепринятой нормой. Если двадцать лет назад всех участников проекта можно было собрать и посадить в одно здание, то сегодня это невозможно или неэффективно. А в распределенной системе с более слабыми взаимосвязями именно роль отдельного человека с точки зрения проекта в целом резко возрастает.
Если же говорить о повышении эффективности процесса разработки, то проблема тут заключается в необходимости оптимально сочетать возможность проявления собственной индивидуальности каждого члена команды и поддержки коллективной работы в распределенной среде. Со своей стороны, IBM для решения всего этого комплекса задач предлагает проект Jazz, ресурсы которого уже сейчас широко использует мировое сообщество разработчиков ПО.
PC Week: Какие еще вопросы разработки ПО представляются наиболее актуальными сегодня?
Р. У.: Существует традиционная проблема, причем не только для создания софта, но и для информационных технологий: как найти оптимальное сочетание широкого использования инноваций и сохранения уже сделанных инвестиций. Мировой экономический кризис обозначил ее в еще более резкой форме, чем ранее: компаниям нужно быстрее адаптироваться в новой для них ситуации, а средств для развития стало меньше. Деятельность подразделения IBM Rational нацелена как раз на то, чтобы помочь нашим клиентам решать эту противоречивую задачу.
PC Week: Спасибо за беседу.