Вернемся к нашей кризисной теме, несколько на новом
этапе рассмотрим, что такое кризис, в чем его истоки,
каким образом происходила та самая конференция НАТО,
где возник этот термин — кризис, в отношении разработки
программных систем. И собственно, каким образом можно с этим
кризисом бороться, в чем его причины и какие факторы
влияют на антикризисную разработку.
На слайде представлены некоторые выдержки из определения
Карла Маркса, основоположника теории кризисов в экономики.
Мы здесь говорим в курсе во много и об экономики
разработки, поэтому, наверное, причины где-то сходны.
И мы можем сказать, что кризис, это дисбаланс, как мы уже
не раз и замечали. В данном случае Карл Маркс сопоставляет
кризис с перепроизводством, то есть на самом деле, производство
и потребление, у нас в данном случае находятся не в балансе.
Если мы говорим о кризисе, это может быть дисбаланс
ресурсов с точки зрения производства и потребления,
либо дисбаланс ресурсов с точки зрения прибыли
и зарплаты. Но, а если мы говорим о программной инженерии
и о кризисе программного обеспечения, о кризисе
разработки программных систем, то надо сказать
здесь тоже человеческий фактор имеет достаточно
серьезное значение. Мы сейчас, только что упомянули
о зарплате, мы упомянули о производстве и потреблении,
на самом деле ведь потребление, это поведение покупателя,
а производство, это поведение продавца, как человека,
то есть здесь, наверное, присутствуют какие-то и
психологические особенности. На самом деле не случайно,
что Карнеги-Меллонский университет, это основоположник
и на сегодня законодатель стандартов в отношении
разработки программного обеспечения, программной
инженерии, как таковой, возник и был создан во многом
психологами. То есть специалисты по психологии на самом
деле продолжают развивать направление, связанное
с человеко-машиннными интерфейсами, с поведенческими аспектами
пользователей в системе и возможно следует подчеркнуть,
что именно человеческий фактор имеет достаточно
серьезное значение в программной инженерии.
Надо сказать, что и программная инженерия, как дисциплина,
когда она преподается, предположим, в вузах, имеет
две составляющих, это техническая или технологическая составляющая
и так сказать управленческая составляющая. Если мы помним,
мы еще раз скоро увидим эту диаграмму, которая
описывает нам составляющие сложности программных
продуктов, что, скажем, корпоративные системы
отличаются достаточно высокой технологической
сложностью, но и еще, более значимой, управленческой
сложностью. Поэтому, естественно, межличностного общения,
коммуникации, навыки ведения переговоров и навыки работы
в команде, так называемые мягкие навыки soft skills, являются
очень важной составляющей любого программного инженера
и непременно присутствуют в программе подготовки
специалистов по программной инженерии в ведущих вузах,
в том числе и в Карнеги-Меллоне.