po4emu.ru
po4emu.ru
Главная страница
Контакты
Добавить в избранное

РИС

PO4EMU.RU / Разное / ПОЧЕМУ...

Разное > Прочее > Все то, что не вошло в разделы

  Почему программисты не могут давать гарантий?

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

Но почему?

Вопрос этот достаточно сложен и ему посвящено немало литературы. Точнее – ответов на него достаточно много и они работают сообща. Предлагаю для начала (раз и навсегда? хотелось бы верить, но я, разумеется, не верю) разобраться с вопросом о гарантиях.

Многие пользователи возмущаются – «вот у меня на стиральную машину гарантия, если что не так – мне поменяют, отремонтируют, вернут деньги, возместят моральный ущерб (1 000 000 $) и еще в Диснейленд на халяву свозят».

Для справки – пытался я тут как-то по гарантии вернуть фирме нестабильно работающий сотовый телефон. Это была песня из нескольких куплетов, причем каждый еще и с припевом, но я ее опущу – к делу не относится. В результате, телефон остался при хозяйке, но был слегка «доработан напильником».

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

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

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

Задача проверки работоспособности программы на всех возможных конфигурациях компьютера – практически не имеет решения.

Неумолимая комбинаторика, знаете ли. Следовательно – чтобы быть уверенным в работе своего ПО на все 100%, нужно быть на 100% уверенным в конфигурации программно-аппаратной части.

Следовательно – ПО должно поставляться вместе с готовым компьютером, причем внесение любых изменений как в его аппаратную часть (upgrade), так и в программную (установка других программ) автоматически вызывает потерю гарантии. Уже слышу громкие обвинения в тупости и непрофессионализме, а также в незнании законов рынка. Дескать – захочешь жить – не будешь выдвигать идиотских требований.

Но погодите минутку, разве эти требования не кажутся вам смутно знакомыми? Да ведь это же условия потери гарантии любой бытовой техники!

Залезли внутрь, покопались, что-то изменили – никто не виноват, кроме вас самих. А с чего вы взяли, что установка нового (не обязательно корректно написанного) антивируса чем-то отличается для конкретной программы от заливания ацетона в стиральную машину?

Должна быть защита от дурака, говорите? Так она есть. Но вот если вспомнить нежно любимые вами автомобили – что будет, если вы гаечный ключ уроните в работающий двигатель? И где будет защита от дурака и пресловутая гарантия? Вот то-то и оно. Или пример со стиральной машиной. Сколько у вас на ней кнопок?

У меня – штуки 4. И рычажок с несколькими делениями. Уверяю вас, 99,9% программ со столь примитивными возможностями по управлению будут безошибочно работать (при условии соблюдения правил эксплуатации, читай – соответствия программно-аппаратного комплекса требуемому). А сколько кнопочек в Word-е? А вариантов их использования? Тысячи? Десятки тысяч? А вы инструкцию пользователя внимательно прочли? Вот то-то и оно.

Почему никто не возмущается тем, что если забраться в самолет и нажимать там разные кнопочки и дергать за ручки в произвольном порядке, то пилот, скорее всего, разобьется всмятку?

А курсы (платные, разумеется) и экзамены на права использования Word-а не хотите? Я тоже не хочу. И гарантий от Microsoft соответственно не требую и не собираюсь.

Наконец, отдельная категория предъявляющих претензии – это инженеры других специализаций. Особенно разработчики процессоров. Типа – у нас все еще сложнее, но работает стабильно.

Уважаемые коллеги, я ни в коей мере не хочу преуменьшать ваши заслуги, но вы работаете в несколько других условиях. Требования к вашей работе – предельно формализованы. Что может быть формальнее описания набора команд процессора?

А что вы будете делать с требованиями «сделайте нам красиво» и с претензиями «нет, это как-то не красиво»?

А что с вами будет, если где-нибудь в середине работы по проектированию микропроцессора вас ненавязчиво, милым тоном, попросят сменить архитектуру CISC на RISC. Со словами «вам ведь это не трудно, правда?». А как вы себя будете чувствовать за неделю до сдачи системы, когда клиент (глядя на вас, как на последнего идиота) скажет вам, что «умножение» на их профессиональном языке означает возведение в куб и нужно срочно все переделать? А еще (после выпуска ваших процессоров в производство) вдруг решит, что он хочет их вставлять в другой сокет?

Фантастика? Сказки? Кошмарный сон? Да нет – абсолютно штатные ситуации. Встречаются в каждом втором проекте - поверьте, сплошь и рядом.

Можно возразить, что у разработчиков ПО нет многих проблем, с которыми сталкиваются другие инженеры. Это правда. Именно поэтому программы не греются до 80 градусов по Цельсию, несмотря на охлаждение настоящей турбиной (ревущей так, как будто компьютер вот-вот пойдет на взлет), и не покрываются трещинами из-за перепадов температур.

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

Мораль у этой сказки – «Не забывайте скачивать update-ы и не пытайтесь решать мировые проблемы, обзывая всех окружающих идиотами».

P.S. Пока я это писал, Word упал два раза. За что я деньги БГ плачу? Зато не потерял информацию – и на том спасибо.

http://www.gazeta.ru




Поиск




           Rambler's Top100
© Все права защищены