В настоящее время развитие и совершенствование технологических подходов ведется по двум направлениям, которые достаточно сильно отличаются друг от друга своими задачами.
Максимизация качества. Задачи, решаемые на этом направлении — надежность, четкость и формализация — ориентированы на военные разработки и системы реального времени. Данное направление поддерживается строгими технологическими подходами, обеспечивающими предсказуемость. Проблеме качества будет посвящен разд. 7.
Максимизация скорости разработки. Это направление в большей степени обращено к искусству, импровизации и поиску. Гибкие и адаптивные технологические подходы поддерживают именно этот путь. Особенность разработки определяется появлением новых классов систем. За последние несколько десятков лет такими классами были, например, системы “клиент-сервер”, распределенные системы, интерактивные системы, системы интернет-приложений. С точки зрения технологий, задача разработки интернет-приложений является очень специфичной. Базироваться на классических технологических подходах ей не позволяют следующие особенности:
• задача, как правило, не будет четко определена и специфицирована;
• заказчики не смогут точно сформулировать свои требования;
• как только система будет завершена, она устареет;
• система должна правильно взаимодействовать с независимо разработанными программами.
Еще одно важное перспективное направление, связанное с технологией программирования — исследование человеческих и социальных факторов в информатике и программировании.
Предполагается, что в ближайшее время основные усилия в исследовании разработки программного обеспечения будут направлены на процесс проектирования. Это объясняется тем, что в больших проектах основной объем работ приходится на проектирование, которое должны выполнять талантливые творческие специалисты.