Автор: Киви Берд
Среди бесчисленных разделов народной энциклопедии Wikipedia имеется один особо поучительный для всех, кто работает в сфере инфотехнологий, — под выразительным названием «Катастрофы в разработке программного обеспечения».
Наверное, почти каждую историю из этого раздела можно включать в учебники в качестве примера того, как НЕ надо подходить к решению ИТ-задач. Мы же рассмотрим лишь весьма узкую разновидность подобных катастроф — зато в столь любопытной области, как работа государственных спецслужб. Речь пойдет о Федеральном бюро расследований США и о крупнейшей в мире службе электронной разведки, американском Агентстве национальной безопасности. Там за последние годы с треском провалилось несколько гигантских ИТ-проектов суммарной стоимостью в миллиарды долларов, а в учебниках об этом, скорее всего, не напишут нигде и никогда. Именно поэтому представляется полезным, актуальным и поучительным поведать об этих историях здесь и сейчас.
Примерно так можно перевести название новой компьютерной системы ФБР — Virtual Case File (VCF), которую безуспешно пытались создать и внедрить в Бюро на протяжении 2000—2005 годов. Истратив около 170 млн. долларов, к 2005 году руководство ФБР в конце концов было вынуждено объявить о полном фиаско этой затеи.
Начиналось же все весьма многообещающе. В сентябре 2000 года Бюро объявило о запуске крупномасштабного проекта Trilogy, направленного на «трехстороннюю» модернизацию устаревшей ИТ-инфраструктуры ФБР. Предполагалось, что реализация проекта с исходной стоимостью 380 млн. долларов займет три года. Три главные задачи были таковы: закупка современных настольных компьютеров для всех офисов ФБР, развертывание широкополосных защищенных сетей WAN и LAN, а также — самое важное! — модернизация комплекса программных приложений, применяемых в следственной работе.
Первые две цели проекта Trilogy считаются успешно выполненными, хотя и с существенным перерасходом средств. Что же касается замены программной системы ACS (Automated Case Support, автоматизированная поддержка следственных дел), то здесь все оказалось гораздо сложнее. Система ACS в свое время разрабатывалась собственными силами ФБР и задумывалась для управления документами, так или иначе относящимися к делам, расследуемым сотрудниками Бюро, позволяя им искать и анализировать свидетельства и улики, фигурирующие в разных преступлениях, но, возможно, связанные друг с другом. Хотя на словах это звучит довольно красиво, однако в действительности агенты ФБР относились к ACS скептически. Во-первых, система состояла из множества очень разных приложений, создававшихся в разное время, под разные задачи, и при этом весьма замысловатых в использовании. Во-вторых, ACS была построена на основе программно-аппаратных средств, очень популярных в 1970-е годы: язык программирования Natural, система управления базами данных Adabas, буквенно-цифровые терминалы от мэйнфреймов IBM 3270. Поскольку рабочее применение ACS началось в 1995 году, специалисты-компьютерщики ехидно замечали, что эта система безнадежно устарела уже с самого первого дня своего существования.
К 2000 году архаичность ACS стала очевидна всем, включая самое высокое руководство ФБР. Поэтому к лету 2001 был подготовлен общий план новой системы Virtual Case File, а работы по ее воплощению на сей раз было решено поручить профессионалам. Программную часть взялась делать корпорация SAIC, а сетевое обеспечение — фирма DynCorp (подразделение корпорации CSC, известной, как и SAIC, тесными контактами с американскими спецслужбами). Весь проект планировали завершить к середине 2004 года, что в ту пору выглядело вполне реальным, поскольку VCF поначалу представляла собой чуть больше, чем современный веб-интерфейс поверх уже существующих в ACS данных. Предполагаемые затраты на эту часть Trilogy, по имеющимся данным, не должны были превышать 100 млн. долларов.
Но все пошло не так, как было задумано. В начале осени 2001 года, всего за неделю до терактов 11 сентября, в ФБР пришел новый директор Роберт Мюллер. По мнению нового руководства, события 9/11 продемонстрировали неудовлетворительное состояние дел по обмену важной информацией между смежными подразделениями Бюро. Поэтому в декабре того же года планы относительно VCF были радикально пересмотрены, а целью стала полная замена ранее созданных приложений и перенос всех существующих данных в среду СУБД Oracle (в свое время создававшуюся фирмой Ларри Эллисона под нужды ЦРУ). Кроме того, сроки реализации проекта сократили, перенеся время сдачи на декабрь 2003-го.
Основой всей работы над спешным созданием VCF стал гигантский, на восемьсот страниц, талмуд техзадания, который разработчики SAIC составили на основе бесед с пользователями системы ACS. Эти пользователи (следователи), разумеется, не имели никакого опыта ни в программировании, ни в ИТ-разработках. А программисты, в свою очередь, очень смутно представляли себе специфику следственной работы ФБР. В довершение к этому руководство SAIC разбило программистов на восемь команд, нередко конкурировавших друг с другом и общавшихся мало и неохотно. Естественным результатом стало то, что уже в 2002 году все намеченные сроки безнадежно «поплыли».
Один из инженеров-программистов SAIC, Мэтью Паттон (Matthew Patton), искренне обеспокоенный происходящим, осенью 2002 года попробовал привлечь внимание к проблемам VCF на страницах дискуссионного интернет-форума разработчиков и пользователей правительственных информационных систем. Следствием этого шага стал скорый визит к Паттону двух агентов ФБР, разбирательство о разглашении им государственных секретов и немедленное отстранение от работы над VCF. Через некоторое время практически все, о чем предупреждал инженер, — и недостаточный технический опыт сотрудников ФБР, и ошибки менеджмента в SAIC, и нехватка компетентности исполнителей, решающих задачу такого масштаба, и то, что никудышное восьмисотстраничное ТЗ было обречено на неудачу еще до того, как были написаны первые строки кода, — руководителям проекта пришлось признать официально перед лицом контролирующих органов. Однако для Мэтью Паттона все закончилось увольнением из SAIC «по личным причинам».
Но это будет потом, а в конце 2002 года ФБР, уже осознав перерасход средств, стало просить (и получило) дополнительные десятки миллионов на успешное завершение проекта. К концу 2003 года у программы сменилось пять руководителей, и, несмотря на все трудности и проблемы разработки, к декабрю 2003 года SAIC представила-таки ФБР свой итоговый продукт — который тут же был расценен заказчиком как совершенно неадекватный и непригодный для реальной работы. SAIC в ответ заявила, что ФБР само во всем виновато, потому что по ходу разработки регулярно меняло собственные спецификации. После нескольких месяцев препирательств независимая арбитражная комиссия пришла к заключению, что в непригодности ПО виноваты обе стороны — и подрядчик, и заказчик.
В 2005 году от системы VCF отказались полностью, как от не поддающейся исправлениям, а весной 2006 года ФБР объявило о новой затее с «безбумажным делопроизводством», теперь получившей название проект Sentinel. На сей раз в качестве головного подрядчика выбрали ведущую аэрокосмическую корпорацию Lockheed Martin, на работу отвели шесть лет, а денег выделили 425 млн. долларов.
Нынешний директор АНБ Кит Александер (Keith Alexander) старается сохранить и развить хотя бы те немногие элементы системы, что уже сданы и способны работать. А затем, постепенно дополняя их, планируется сделать нечто вроде Trailblazer 2.0 — не столь амбициозной, но действительно полезной системы.
Наступившие у АНБ сложности с финансированием станут понятнее, если упомянуть еще о двух дорогущих ИТ-программах, воплощавшихся агентством параллельно с Trailblazer и тоже расцениваемых ныне как провальные.
Одна из них, под кодовым названием Groundbreaker, была задумана в 1999 году как крупномасштабный проект по обновлению всей компьютерно-сетевой инфраструктуры, обеспечивающей работу АНБ. Первоначальная стоимость проекта была оценена в 2 млрд. долларов, к концу же было признано, что имел место по крайней мере двукратный перерасход средств. А в итоге, по оценкам самих сотрудников агентства, работающих с новым оборудованием, зависания и сбои систем стали более продолжительными, нежели при старых машинах и программах, а доставляемые в обработку материалы заметно чаще оказываются «побитыми» до неузнаваемости.
Еще одна, куда более секретная программа носит название «Управление криптологической миссией». Она представляет собой особую автоматизированную систему стоимостью около 300 млн. долларов, создававшуюся для сопровождения всех проектов АНБ в области шифров и криптоанализа. В готовом виде система оказалась столь неудобной в работе, насыщенной дефектами и не поддающейся корректировкам, что сами криптографы настаивают на официальном отказе от нее.
Завершить же обсуждение этих поучительных историй хочется несколько неожиданным вопросом. В России, как и в США, все спецслужбы предпочитают работать в обстановке строгой секретности, ибо видят в этом залог успеха. Но демократические процедуры в США хоть и с опозданием, но все же позволяют вмешиваться и гласно контролировать расходование бюджетных денег даже на секретные программы. Поскольку деньги эти, как и в России, берутся из карманов налогоплательщиков. Однако в нашем отечестве ни секретные крупномасштабные ИТ-проекты спецслужб, ни размеры их финансирования, ни тем более неудачи в реализации никогда публично не обсуждаются. Что это может означать? Что у наших спецслужб неудач не бывает? Или же в России вообще нет подобных крупномасштабных программ?
Все неполные сорок лет своего существования корпорация SAIC отличается тем, что среди ее руководителей всегда есть люди, непосредственно до и/или сразу после этой работы занимающие высокие посты в Министерстве обороны, ФБР и разведслужбах США. В корпорации резонно считают, что такой подход очень помогает бизнесу в целом и получению выгодных контрактов в частности. Однако, как показал проект Trailblazer, это вовсе не гарантирует успех для собственно работы. Заместитель директора АНБ Уильям Б. Блэк-младший (William B. Black Jr) пересел в руководящее кресло SAIC в 1997 году, оттрубив сорок лет в разведке. Однако уже в 2000-м генерал Хейден сумел вернуть Блэка в АНБ, чтобы он на посту замдиректора курировал Trailblazer и тесные контакты с SAIC. Более компетентного человека, казалось бы, найти было невозможно, но все равно не помогло.