Аналитики выяснили это, проанализировав данные вступительных тестов, выполненных 69 тыс. программистами из 80 стран.
Сегодня любая отрасль неизбежно связана с индустрией программного обеспечения, поэтому пути ее развития на ближайшее будущее в той или иной степени касаются всех.
Гибкие, или скорые, методики разработки программного обеспечения потеснили сегодня традиционные подходы к ведению проектов. Разработчики, уставшие от ожидания четких постановок задач и от неспособности заказчиков сформулировать свои пожелания, делают ставку на организацию работы, которая, как показывает практика, зачастую позволяет добиться результатов, даже если цель не видна на старте. Однако распространение такого рода методик разработки закономерно приводит к необходимости ответить на вопрос, как должно быть организовано сопровождение созданного в соответствии с подобными методиками ПО?
Взаимодействие географически распределенных команд стало нормой, применяемой повсюду, от глобальных проектов разработки программного обеспечения до исследований и поддержки бизнес-процессов в компаниях различных отраслей. Однако у глобальных проектов разработки ПО неоднозначная репутация. Как повысить эффективность распределенной разработки?
Для тестирования современных сайтов уже недостаточно лишь функционального и простого нагрузочного тестирования, не позволяющего получить уверенность в работоспособности приложений в реальных условиях — сегодня требуются более изощренные средства.
Разработка программ, использующих весь потенциал современных многоядерных и многопроцессорных систем, требует много ресурсов, а перенос готовых приложений в новую среду обычно возможен только в рамках семейств схожих архитектур. Решение проблемы быстрой и недорогой разработки эффективного программного обеспечения для параллельных архитектур невозможно без оптимизирующих распараллеливающих компиляторов.
Из простого собрания документов WWW превратился в платформу богатых функционально, интерактивных распределенных приложений, способных работать на любом устройстве. Вместе с HTML5 и другими ключевыми технологиями сформировалась открытая платформа Open Web Platform, которая может трансформировать ИТ-индустрию и общество.
За последнее десятилетие информационные системы незаметно претерпели качественные эволюционные изменения, и сегодня каждая отдельно взятая такая система представляет собой полноценную бизнес-среду, обеспечивающую взаимодействие множества людей. Несмотря на это многие технологии их построения остаются прежними, что не всегда так безобидно, как кажется. Можно предложить ряд методов безболезненной модернизации информационных систем и изменения структур данных.
Что получится, если объединить достоинства программной инженерии и инженерии баз данных? Сегодня разработчики, координирующие эволюцию программных систем, насыщенных данными, сталкиваются с многочисленными серьезными проблемами.
Сегодня разработка программного обеспечения, как правило, требует коллективных усилий всех членов группы, находящихся в разных городах, и для организации их плодотворного взаимодействия нужны специальные технологии и инструменты.
Одна из наиболее востребованных сегодня идей в экономике и управлении производством – это Lean Manufacturing, или, применительно к индустрии программного обеспечения, Lean Software Management. Главный урок – выгода современного производства состоит только в совместной работе всех участников цепочки создания ценностей.
На быстрорастущем рынке программного обеспечения сегодня существенно растут требования к скорости разработки и качеству ПО. Использование гибкой архитектуры и различных приемов проектирования, безусловно, способно повысить качество разработок, однако формальные критерии качества, например метрики кода, показывающие количественные характеристики программной системы в различных измерениях, по-прежнему остаются актуальными.
Масштабность задач, решаемых разработчиками систем автоматизации ОАО РЖД, требует координации усилий многих людей. Для организации их совместной работы необходим специальный инструментарий. Однако коммерчески доступные инструменты версионного контроля, кроме неоспоримых преимуществ, имеют и ряд ограничений, которые приходится преодолевать при выполнении проектов по автоматизации сложных объектов.
Любая сложная самоуправляемая или построенная в соответствии с природными аналогами компьютерная система должна быть надежной, чтобы избежать риска потери контроля над ней и быть уверенным в ее безотказности. Доверительные отношения ключевое условие успешного динамического взаимодействия между пользователями компьютеров, системами и сервисами.
Разработка, управляемая моделями (Model Driven Development, MDD) одна из наиболее модных сегодня технологий у производителей инструментальных средств создания ПО.
Методы скорой (agile) разработки завоевывают мир чрезвычайно агрессивно. Одно из ярких тому свидетельств – внимание к использованию и продвижению принципов agile со стороны крупных производителей программного обеспечения, в том числе IBM. Сегодня в корпорации на должности руководителя практики скорой разработки в подразделении IBM Rational работает Скотт Амблер, известный канадский специалист в области программной инженерии вообще и скорых методов в частности.