Короче говоря, будто это и есть тот способ, который позволит выполнять все наши проекты строго по графику, в рамках бюджета и с отличным качеством!
Полный энтузиазма, подогретого очередным новейшим чудом, вы возвращаетесь из поездки домой и предлагаете нам тут же начать использовать это чудо. Именно по этой причине ироническое выражение «синдром самолетного чтива» стало столь распространенным в среде ИТ-специалистов.
Весь ужас — в навязчивом восхвалении новинок программного обеспечения. Сейчас в области информационных технологий мы видим два важных феномена. Первый из них — это скорость совершенствования аппаратных средств. И правда, не успеешь глазом моргнуть, как появляются новые устройства, которые намного быстрее, дешевле и просто лучше, чем прежние.
А второй феномен представляет собой реальную проблему, это — уровень восхвалений, существующий в области ПО. Каждая новая идея преподносится как тот самый прорыв, которого все хотели и ждали. Как будто бы мы, специалисты в области ПО, из зависти к создателям аппаратных средств изо всех сил претендуем на такой же темп улучшений, который есть в области аппаратуры. Непомерные восхваления — вот что вы читаете в тех самых «самолетных» журналах.
Мы проводили практическое изучение некоторых всемерно расхваливаемых программных технологий последнего времени: структурного программирования, языков четвертого поколения, CASE-систем, объектно-ориентированного программирования. Поскольку мы знаем о степени вашей занятости, сразу предлагаем итоговую оценку: «Каждая из этих технологий, ?безоговорочно производящих переворот?, является... просто нормальной технологией. Каждая имеет свои достоинства и недостатки. Каждая из них улучшала нашу работу в одних случаях и не делала этого в других».
Давайте приземлимся
Итак, область ПО переполнена неоправданно высокими оценками и легковесными исследованиями. Видно, что претензии на увеличение производительности труда в программировании имеют слишком мало оснований. Что же показывает изучение ситуации? Есть два явления, на которые стоит обратить внимание.
Первое — это проблема соблюдения графика работ. Каждая новая технология, конечно же, потребует пройти путь обучения. Когда люди начинают использовать новый подход, производительность и качество падают (несмотря на то, что сторонники этого подхода прокламируют немедленное получение выгод). Нужны недели, месяцы или даже годы — в зависимости от сложности технологии — для того, чтобы польза наконец была получена. А второе — это то самое получение пользы. Когда период обучения заканчивается, большая часть «чудесных» подходов и в самом деле обеспечивает некоторые преимущества. Но учтите то, что хорошо знают опытные практики в области ПО: эти преимущества обычно лежат в интервале от 5 до 35%. Другими словами, ничего похожего на шумно восхваляемый «прорыв»: если выигрыш и имеется, то он относительно невелик.
Благодарим вас за то, что вы прочитали это письмо. Когда в следующий раз вы будете изучать в «самолетном» журнале статью об очередном прорыве в области ПО, не принимайте это за чистую монету. По возвращении из поездки, конечно же, расскажите нам обо всем, но имейте в виду, что и эта статья наверняка будет многократно преувеличивать восхваляемые выгоды.
Позвольте закончить письмо цитатой. Эд Йордан, возможно, наиболее известный «народный гуру» в области компьютерных систем и программирования, тот, который ведет рубрику в Computerworld, как-то сказал: «Мне хотелось бы продолжать верить в то, что структурный анализ — так же, как, к примеру, информационное проектирование, объектно-ориентированные методы или какая-либо иная методология — несет в себе возможности изменить наш мир. Но как ни жаль, трезвый взгляд на вещи, основаный на достаточно большом опыте, состоит в том, что все эти уверения — не больше чем громкие слова».
Шеф, вот те соображения, которыми мы хотели поделиться с вами.
С уважением, сотрудники информационной службы.
Составитель письма — Роберт Гласс — президент компании Computing Trends, автор более 20 книг и 60 научных статей, редактор журнала System and Software издательства Elsevier, ведущий рубрики в нескольких компьютерных журналах.