Ковбои на костылях

Ковбои на костылях

Когда вы пьёте таблетки, вас волнует, не поддельные ли они, прошли ли положенные тесты. Когда вы садитесь в самолёт, вы живо интересуетесь, проходит ли он техобслуживание и выберете Аэрофлот, а не какой-нибудь Трахавиа. Когда вы инвестируете в акции, вы обязательно поинтересуетесь заключением независимого аудитора о финансовой отчётности этой компании. То есть всегда есть некто независимый, кто подтверждает пригодность предмета к употреблению.

Да, мы все знаем, что одобрямс Минздрава стоит некую сумму, права пилотов продаются за некую другую сумму, а купить независимого аудитора можно за третью. Для очень независимого аудитора из большой четверки это дороже, для маленькой, но гордой аудиторской фирмочки – дешевле. Всё это понятно. Но сейчас речь не об этом.

Существует огромная сфера деятельности, от которой каждый из нас зависит ежедневно, полностью и бесповоротно, но в которой нет никаких, даже призрачных гарантий того, что вы получаете безопасный и соответствующий заявленным характеристикам продукт. Это – программное обеспечение. То, что с ним происходит, можно описать словами “Дикий запад”. Или “Полная ж..а”. Кому что нравится.

Доски объявлений хэдхантеров заполнены объявлениями типа: “Срочно нужен программист, умеющий разбираться в чужом коде”. Честно говоря, я бы поостерегся пользоваться программой, разработанной такой фирмой. Сам пишу код помаленьку, до сих пор, по служебной необходимости, для себя; в прошлой жизни занимался качеством программного обеспечения и понимаю: это уже конец, если не сказать хуже. Это означает, что прежний программист встал и ушёл, документации на код никакой нет, проект горит – будем вставлять костыли. А через месяц ЗБС-банк радостно сообщает: “Мы разработали новое онлайн приложение для Андроид!” И в этот момент как-то не по себе становится. А вот и последние новости подоспели: “Неизвестные хакеры взломали счета 100000 пользователей ЗБС-банка. Украдены стопятьсот миллионов рублей”.

Казалось бы, логика простая: если какой-то продукт используется большим количеством людей для выполнения критичных функций, он должен проходить независимый аудит. И не только и не столько он, сколько процесс его разработки. Даже кастрюля, которую вы покупаете на кухню, имеет сертификат соответствия. Везде оно так и есть, кроме как в разработке программ. Как-то уж так повелось, что никто не знает, каким образом рожден некий говнокод, который управляет нашими кошельками, автомашинами, самолётами, системами отопления в доме, наконец.

Я вот седьмой год сражаюсь с агрегатом фирмы IVT, который вроде бы предназначен для геотермального отопления моего дома. Это такой у меня личный майн кампф. Борьба идёт явно не в мою пользу. Один раз меняли ему мозги. Не помогло, потому что у него их оказалось явно больше, чем у меняльщиков. Летом он устраивает в доме 30-градусную жару, зимой – бодрящий холод. А тут вдруг решил, что всё, хватит, покрылся льдом и через аварийный клапан залил пару комнат. Пришлый умелец, он же serviceman (по-ихнему), разводит руками. Поразводил, поразводил на новый кран и уехал.

Но это всё наша местная лагерная лирика. А вот и основной вопрос: когда же общество созреет до понимания, что аудиторы нужны не только для финансовой отчётности? Когда невозможно будет выпустить на рынок или в эксплуатацию программный продукт, который не прошёл независимый аудит?

ЗЫ.

Разработчики по снимают с себя всякую ответственность (вспомните, какие “лицензионные соглашения” Вы принимаете). Там разве что нет права поиметь вас в ж… Хотя надо почитать – наверняка есть:) Представьте себе, вы садитесь в самолёт, а вам на подпись дают бумагу, что вы принимаете на себя все риски, что самолёт не долетит, долетит не туда, багаж потеряется и так далее:) Я бы предложил ввести даже не сертификацию, а хотя бы аудит (с чего-то надо начать), чтобы пользователь получал вместе с программным продуктом ссылку на заключение аудитора. А стандарты у всех могут быть внутрифирменные. То же самое, как сейчас проводят аудит финансовой отчётности.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s