14 Сентября, 2013

Кустарный и товарный

InfoWatch
Хайретдинов рассказывал забавный случай, когда программист в коде забыл закрыть одну скобку. В результате этой крошечной ошибки 50-процентная скидка вместо одного уценённого товара распространилась на весь ассортимент. Два часа сеть магазинов торговала всем товаром за полцены и наторговала 400 000 долларов убытков. Какой злоумышленник сумел бы нанести столь огромный ущерб, как этот разгильдяй?
       

Но виноват не разгильдяй. Ошибка в исходном коде программы – это стандартная ситуация. Типичная и штатная. Для её вылавливания и устранения строится технологический процесс с версиями, документированием, депонированием кода, ТЗ, ветками, тестированием, патчами, сертификацией, багтрекингом, DRM, стандартами...

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

Кустарное ПО "для себя" не умеет подчиняться тем же правилам, что товарное ПО. Но при этом оно составляет больше половины всего софта в мире, если считать по количеству уникальных программ (если же по количеству строк кода, то напротив – товарное ПО преобладает). При разработке кустарного нет никакой возможности ввести процедуры, обеспечивающие контроль и аудит.

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

или введите имя

CAPTCHA
hallboy3
15 Сентября, 2013
IDE
Абсурд. Що б не трапилось подібного, варто перед використанням в робочій версії протестувати змінений код.
0 |
ваван
15 Сентября, 2013
иди атсюда
0 |
эээ
16 Сентября, 2013
жить вредно - от этого умирают!
Никаких макрокоманд, пусть всё ручками набирают... А ещё лучше - шариковыми, пишут, потому что "любой программный код – опасны"! Только во производительность и квалификация сотрудников упадёт - останутся самые тупые. А эта опасность похлеще будет.
0 |