Законы Мэрфи

Закон Мэрфи (амер., неофиц.) – принцип, состоящий  в  том,  что если какая-нибудь неприятность может случиться, она  непременно случится  (происхождение неизвестно).

                          Толковый словарь Фанка и Вэгнэлса.

 

1. Основа Мэрфологии

Если какая-нибудь неприятность может случиться, она непременно произойдет!

Следствия:      

 

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

Комментарий Каллагана к закону Мэрфи – Мэрфи был оптимистом!

Первый закон Чизхолма. Все, что может испортиться, портится.
            Следствие: Все, что не может испориться, портится тоже.
Второй закон Чизхолма. Когда дела идут хорошо, что-то должно случиться в самом ближайшем будущем.
            Следствия:

1. Когда дела идут хуже некуда, в самом ближайшем  будущем они пойдут еще хуже.
2. Если вам кажется, что ситуация улучшается, значит вы чего-то не заметили.

Третий закон Чизхолма. Любые предложения люди понимают иначе, чем тот, кто их вносит.
             Следствия:

1. Даже если ваше объяснение настолько ясно, что исключает всякое ложное толкование, все равно найдется человек, который поймет  вас неправильно.
2. Если вы уверены, что ваш поступок встретит всеобщее одобрение, кому-то он обязательно не понравится.
 

Первый закон Скотта.   Неважно, что что-то идет неправильно.
                       Возможно, это хорошо выглядит…
Первый закон Финэйгла. Если эксперимент удался, что-то
                       здесь не так.
Третий закон Финэйгла. В любом наборе исходных данных самая
                       надежная величина, не требующая никакой
                       проверки, является ошибочной.
Четвертый закон Финэйгла. Если уж работа проваливается, то
                       всякая попытка спасти ее только ухудшит дело.
Комментарий Эрмана к теореме Гидсберга.
                    1. Перед тем, как улучшиться, ситуация ухудшается.
                    2. Кто сказал, что она улучшится ?…
Второй закон термодинамики Эверитта. Неразбериха в обществе
                       постоянно возрастает. Только очень упорным трудом
                       можно ее несколько уменьшить.Однако сама эта попытка
                       приведет к росту совокупной неразберихи.
Закон термодинамики Мэрфи. Под давлением все ухудшается.
Закон Паддера.         Все, что хорошо начинается, кончается плохо.
                       Все, что начинается плохо, кончается еще хуже.
Теорема Стокмайера.    Если кажется, что работу сделать легко,
                       это непременно будет трудно. Если на вид она трудна,
                       значит, выполнить ее абсолютно невозможно.
Первый закон создания динамики систем Зимерги.
                       Если уж вы открыли банку с червями, то единственный
                       способ снова их запечатать – воспользоваться банкой
                       большего размера.

2. Прикладная Мэрфология

Закон Букера. Даже маленькая практика стоит большой теории.
Законы Клипштейна в приложении к машиностроению.
                    1. Ваша заявка на патент непременно опоздает на неделю
                       против аналогичной заявки, поданной другим.
                    2. Стабильность поставок всегда обратно пропорциональна
                       напряженности календарного графика.
                    3. Всякий провод, нарезанный на куски, окажется
                       слишком коротким.
Законы Клипштейна в приложении к созданию опытных образцов и производству.
                    1. Допустимые отклонения будут накапливаться одно-
                       направленно, чтобы причинить максимум трудностей
                       при сборке.
                    2. Если по схеме требуется N деталей, то на складе
                       окажется N-1.
                    3. Двигатель закрутится не в том направлении.
                    4. Система обеспечения надежности выведет из строя
                       другие системы.
                    5. Прибор, защищаемый быстодействующим плавким предо-
                       хранителем, сумеет защитить этот предохранитель,
                       перегорев первым.
                    6. Ошибка выявится только после завершения окончатель-
                       ной проверки прибора.
                    7. После того, как из защитного кожуха будет выкручен
                       последний из 16 болтов, выяснится, что сняли не тот
                       кожух.
                    8. После того, как кожух закрепили 16 удерживающими
                       болтами, окажется, что внутрь забыли поставить
                       прокладку.
                    9. После сборки установки на верстаке окажутся
                       лишние детали.

Законы Мерфи в машиностроении.
                    1. Уроненый инструмент падает туда, где может причинить
                       наибольший вред.
                    2. Любая труба при укорачивании оказывается черезчур
                       короткой.
                    3. После разборки и сборки какого-либо устройства
                       несколько деталей оказываются лишними.
                    4. Количество имеющихся в наличии запасных частей
                       обратно пропорционально потребности в них.
                    5. Если какая-нибудь часть машины может быть смонтирована
                       неправильно, то всегда найдется кто-нибудь, кто так и
                       сделает.
                    6. Все герметические стыки текут.
                    7. При любом расчете число, правильность которого для
                       всех очевидна, становится источником ошибок.
                    8. Необходимость во введении в конструкцию принципиальных
                       изменений возрастает непрерывно по мере приближения к
                       завершению проекта.

Универсальные   законы  для  молодых  инженеров,  разработанные
Комитетом    по    практическим    рекомендациям     Ассоциации
инженеров-философов.

                    1. Любая ошибка, которая может вкрасться в расчет,
                       вкрадется в него.
                    2. Любая ошибка в любом расчете будет нацелена на
                       причинение наибольшего вреда.
                    3. Во всякой формуле константы (особенно те, которые
                       взяты из технических справочников) должны рассматри-
                       ваться как переменные.
                    4. Самый важный размер на любой диаграмме или чертеже
                       имеет наибольший шанс быть пропущенным.
                    5. Если опытная установка работает безукоризненно, все
                       последующие будут неисправны.
                    6. Просьба об изменениях, которые совершенно необходимо
                       внести в прибор, всегда поступает после того, как
                       его изготовление почти закончено.
                    7. Части, которые просто нельзя собрать неправильно,
                       все же будут собраны неправильно.
                    8. Все сроки обязательств по поставкам надо умножать
                       на коэффициент 2.0 (для СССР(ССГ) – 10.0).
                    9. Технические параметры приборов, заявляемые фирмой-
                       изготовителем, надо умножать на коэффициент 0.5.
                   10. Ожидания покупателей новой машины надо умножать
                       на коэффициент 0.25. (для СССР(ССГ) – 0.10).
                   11. Любое устройство, требующее наладки и регулировки,
                       обычно не поддается ни тому, ни другому.
                   12. Если за ошибку в расчете отвечает больше одного
                       человека, виноватых не найти.
                   13. Одинаковые приборы, проверенные одинаковым способом,
                       будут в эксплуатации вести себя совершенно по-разному.
Следствие Этвуда. “Зачитывают” только те книги, которыми вы особенно дорожите.
Третий закон Джонсона. Потерянный вами номер журнала содержит именно ту
                       статью, рассказ или отрывок романа, который вы
                       срочно хотели бы прочитать.
Следствие.             У всех ваших друзей этого номера либо не было,
                       либо он утерян, либо выброшен.
Закон журнала “Харперс Мэгэзин”. Вещь нельзя найти, пока не купишь взамен
                       ее другую.
Правила взаимозаменяемости Ричарда. То, что вы храните достаточно долго,
                       можно выбросить. Как только вы что-то выбросите,
                       оно вам понадобится.
Закон самолета. Когда ваш самолет опаздывает, самолет, на который вы хотели
                       пересесть, улетает вовремя.
Первый закон езды на велосипеде. Независимо от того, куда едете – это в
                       гору и против ветра.
Первый закон Бриджа.   Виноват всегда партнер.
Закон кошачьей безысходности. Как только кошка растянулась и начала засыпать
                       на ваших коленях, вам срочно понадобилось встать и
                       идти, ну, скажем в ванную комнату.
Закон Джонсона и Лэрда.Зубная боль начинается в ночь на субботу.
Наблюдение Этторе.     Соседняя очередь всегда движется быстрее.
Закон Буба.            Утерянное всегда находищь в последнем кармане.

Законы  программирования

                    1. Любая действущая программа устарела.
                    2. Любая программа обходится дороже и требует больших
                       затрат времени, чем предполагалось.
                    3. Если программа полностью отлажена, ее нужно будет
                       скорректировать.
                    4. Любая программа стремиться занять всю доступную
                       память.
                    5. Ценность программы прямо пропорциональна весу ее
                       “выдачи”.
                    6. Сложность программы растет до тех пор, пока не
                       превысит способности программиста.
Постулаты Трутмэна по программированию.
                    1. Самая грубая ошибка будет выявлена, лишь когда
                       программа пробудет в производстве по крайней
                       мере полгода.
                    2. Контрольные п/к, которые решительно не могут
                       стоять в неправильном порядке, будут перепутаны.
                    3. Если назначен специальный человек для контроля
                       за чистотой исходной информации, то найдется
                       изобретательный идиот, который придумает способ,
                       чтобы неправильная информация прошла через этот
                       контроль.
                    4. Непечатный жаргон – это тот язык, которым реши-
                       тельно все программисты владеют в совершенстве.
Законы ненадежности Джилба.
                    1. Компьютеры ненадежны, но люди еще ненадежнее.
                    2. Любая система, зависящая от человеческой надеж-
                       ности, ненадежна.
                    3. Число ошибок, которые нельзя обнаружить, беско-
                       нечно, в противовес числу ошибок, которые
                       можно обнаружить, – оно конечно по определению.
                    4. В поиски повышения надежности будут вкладываться
                       средства до тех пор, пока они не превысят величину
                       убытков от неизбежных ошибок или пока кто-нибудь
                       не потребует, чтобы была сделана хоть какая-то
                       полезная работа.
Закон Брукса.          Увеличение числа участников при подготовке
                       опаздывающей программы только замедляет процесс.
Законы мира ЭВМ по Голубу.
                    1. Неточно спланированная программа требует в три
                       раза больше времени, чем предполагалось;
                       тщательно спланированная – только в два раза.
                    2. Работающая над программой группа питает отвра-
                       щение к еженедельной отчетности о достигнутых
                       результатах, поскольку она слишком явно
                       свидетельствует об отсутствии таковых.
Принцип Шоу.           Создайте систему, которой сможет пользоваться
                       даже дурак ,и только дурак захочет ею пользоваться.

7. Наука о совещаниях

Закон Оулда и Кана.    Эффективность совещания обратно пропорциональна числу
                       участников и затраченному времени.
Второй закон комитетодинамики. Чем меньше удовольствия вы истытываете от
                       присутствия на совещании, тем больше вероятность того,
                       что вам придется в нем участвовать.
Закон Хендриксона.     Если проблема требует множества совещаний, они в
                       конечном счете станут важнее самой проблемы.
Правило Фалькланда.    Когда нет необходимости принимать решение, необходимо
                       не принимать его.
Первый закон спора.    Никогда не спорьте с дураком – люди могут не заметить
                       между вами разницы.
Правило очередности Свиппла. Кто кричит громче всех, тому и дают слово.
Правило Рейберна.      Хочешь жить в согласии – соглашайся!
Закон Паттона.         Хороший план сегодня лучше безупречного завтра.

 9. Искусство быть специалистом

Определение Вейнберга. Квалифицированный специалист – это человек, который
                       удачно избегает маленьких ошибок, неуклонно двигаясь
                       к какому-нибудь глобальному заблуждению.
Закон Поттера.         Величина рекламной шумихи вокруг товара обратно
                       пропорциональна его  реальной  ценности.
Закон Росса.           Не характеризуйте заранее важность высказанной мысли.
Закон Кларка.          Каждая радикальная идея-в науке,политике,искусстве –
                       вызывает три стадии ответной реакции:
                       – “это невозможно, и не отнимайте у меня время!”;
                       – “может быть и так, но, право, не стоит за это
                         браться”;
                       – “я всегда говорил, что это отличная мысль!”.
Первый закон Кларка.  Если выдающийся,  но  уже  стареющий ученый утверждает,
                      что нечто возможно, он почти наверняка прав. Если он
                      считает что-то невозможным, он, вероятнее всего,
                      заблуждается.
Второй закон Кларка.  Единственный способ установить границы возможного –
                      – это выйти за них в невозможное.
Правило Великого.     Если некто, кем вы беспредельно восхищаетесь и кого
                      уважаете, погружен в особенно глубокие раздумья,
                      наиболее вероятно, что это раздумья об обеде.
Закон Старшинства.    Первый вариант более общего принципа всегда
                      несовершеннее продуманного варианта более
                      частного принципа.
Закон Ранэмона.       Существует 4 типа людей: кто сидит спокойно и ничего
                      не делает; кто говорит о том,что надо сидеть спокойно
                      и ничего не делать; кто делает; и кто говорит о том,
                      что надо делать.
Восьмой закон Леви.   Ни один талант не может преодолеть пристрастия к
                      деталям.
Закон Сегала.         Человек, имеющий одни часы, твердо знает, который час.
                      Человек, имеющий несколько часов, ни в чем не уверен.
Закон Миллера.        Ничего нельзя сказать о глубине лужи, пока не попадешь
                      в нее.
Закон Вейлера.        Нет невыполнимой работы для человека, который не обязан
                      делать ее сам.
Постулат Вейнберга.   Если бы строители строили здания так же, как
                      программисты пишут программы, первый залетевший дятел
                      разрушил бы цивилизацию.

Мысли ои Программировании

Некоторое время назад, когда КОБОЛ был светлой надеждой программистов,
часто можно было слышать о возможности того, что администраторы смогут
читать программы… Никто не принимал этого всерьез… Даже программисты
не читают программ.
                        ( р.5 )

  Есть… программы, которые следует выбросить еще до использования.
                        ( р.20 )

  Требовать и эффективности, и гибкости от одной и той же программы –
– все равно, что искать очаровательную и скромную жену… по-видимому,
нам следует остановиться на чем-то одном из двух.
                        ( р.22 )

  Если программист работает с языком, в котором разрешены только три
индекса, то вряд ли мы обнаружим больше трех.
                        ( р.31 )

  Собрать кучку людей для работы над одной проблемой – не значит сделать
их коллективом.
                        ( р.35 )

  Конструктор системы страдает от того, что чем лучше его система делает
свое дело, тем меньше пользователи знают о ее существовании.
                        ( р.124 )

… Каждая программа  имеет соответствующий уровень продуманности и
запутанности в зависимости от цели, для которой она применяется.
                        ( р.127 )

  Чтобы обнаруживать ошибки, программист должен иметь ум, которому
доставляет удовольствие находить изъяны там, где, казалось, царят красота
и совершенство.
                        ( р.136 )

  Для локализации ошибки, однако, желателен человек, обладающий упорством
тещи и стадными инстинктами крысы.
                        ( р.136 )

  Если плохой работник ненавидит свои инструменты, хороший работник ненави-
дит плохие инструменты.  Результаты труда рабочего в значительной степени
определяются его инструментами.
                        ( р.203 )

  Ни один ремесленник, который стремится к вершинам своей профессии, не
примет негодных инструментов; и ни один производитель, который ценит
качество работы, не будет упрашивать ремесленника принять их.
                        ( р.204 )

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

  “Программирование” – как и “любовь” – одно слово, за которым скрывается
бесконечное множество занятий.
                        ( р.121 )

  Очень важно не прерывать вопросов. Любопытство имеет свое право на
существование.
                        (Альберт Эйнштейн)

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

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

  В природе программирования лежит то, что нет соотношения между “размерами”
самой ошибки и проблем, которые она влечет.
                        ( В. р.247 )

  Когда программист испытывает затруднения при поиске ошибки, это значит,
что он ищет не там, где следует.
                        ( В. р.251 )

  Документация – касторовое масло в программировании… Руководители полагают,
что это хорошее средство, ибо программисты так ее ненавидят.
                        ( р.262 )

  Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв
для опереционной системы.
                        ( аноним )

  Мы стоим на пороге новой эры, эры, ставшей возможной благодаря революции,
совершенноя вычислительной машиной. Стоя на пороге, мы колеблемся в выборе
пути – к золотому веку свободы или к темному веку тирании, причем и тот,
и другой век может превзойти все, что когда-либо видел мир. Возможно,
никакие отдельные усилия не скажутся на результате, но мы никогда не должны
оставлять попыток, ибо иначе результат наверняка окажется тиранией.
                        ( В. р.279 )

  Проект (OS/360) был закончен с опозданием, система потребовала большего
объема памяти, чем планировалось, затраты значительно превысили предвари-
тельные оценки, вся система начала работать как следует только после со-
здания нескольких вариантов, последовавших за первым.
                        “Мифический человеко-месяц”, Фредерик
                        Брукс-мл.,р.8 (М., “Наука”, 1979).

  Корабль на мели – моряку маяк. (Голландская пословица.)

  Неподатливость проблемы (срыва планов разработки систем) вызывает всеобщее
изумление, и разобраться в ее природе непросто.
                        ( Брукс, р.10 )

  Вычислительная машина обладает притягательной силой биллиарда или музыка-
льного автомата, доведенных до логической завершенности.
                        ( Б. , р.13 )

  Программист, как поэт, работает почти исключительно головой.
                        ( Б., р.13 )

  Вы печатаете на клавиатуре заклинание, и вот экран дисплея оживает,
показывая объекты, которых не было и могло не быть никогда … (но) если
хоть один символ, один пробел в магической формуле не находится строго на
своем месте, волшебство не работает.
                        ( Б., р.14 )

… Во всех областях творческой деятельности формальный объем прав никогда
не согласуется с ответственностью.
                        ( Б., р.14 )

  Выдавать глобальные идеи – это удовольствие; искать сволочные маленькие
ошибки – вот настоящая работа.
                        ( Брукс )

  Как только проект окончательно принят, он становится устаревшим в смысле
своих концепций.
                        ( Б., р.15 )

  Хорошая кухня требует времени. Если вы готовы подождать, мы обслужим вас
гораздо лучше, и вы получите большее удовольствие.
                        ( меню ресторана “Антуан”,
                                Новый Орлеан )

  Все программисты – оптимисты.
                        ( Б., р.17 )

  На этот раз программа обязательно пройдет.
                        ( аноним )

  Я только что нашел последнюю ошибку.
                        ( аноним )

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

  Стоимость проекта действительно зависит от числа людей и числа месяцев,
но его успешность – нет. Следовательно, человеко-месяц как единица измерения
объема работы является опасным и вводящим в заблуждение мифом.
                        ( Б., р.19 )

  Чтобы выносить ребенка, нужно девять месяцев, независимо от того, сколько
женщин будет к этому привлечено.
                        ( Б., р.20 )

  Когда кажется, что все уже работает, все объединено в систему – вам еще
осталось работы на четыре месяца.
                        ( Чарльз Портман , ICL )

  Отметим, что настойчивость руководителя может определить график выполнения
задания, но не в состоянии определить срок его действительного завершения.
                        ( Б., р.23 )

… Если за две минуты он (омлет) еще не готов, у заказчика два выбора –
– подождать или съесть его сырым .
                        ( Б., р.23 )

  Закон Брукса: если программистский проект не укладывается в сроки, то
добавление рабочей силы только задержит его окончание.
                        ( Б., р.26 )

… Концептуальное единство является самым важным соображением при проекти-
ровании системы.
                        ( Б., р.36 )

  Система программирования предназначена для того, чтобы облегчать пользо-
вание вычислительной машиной.
                        ( Б., р.36 )

  Ни функциональность, ни простота сами по себе не гарантируют… высокого
качества (проекта).
                        ( Б., р.37 )

  Добавляя малое к малому, получишь большую кучу.
                        ( Овидий )

  Он сядет здесь и будет распоряжаться: сделайте то!, сделайте это! –
– но абсолютно ничто не сдвинется с места.
                        ( Г.Трумэн, “О презедентской власти ” )

  Никогда не выходи в море с двумя хронометрами: бери один или три.
                        ( пословица )

  Я в этом разбираюсь. Я знаю, что нужно делать – но каждый раз, когда я
пытаюсь заняться технической проблемой, какой-нибудь идиот требует, чтобы
я принял решение насчет грузовика, или телефонов, или другой такой же
чертовщины.
                                           ( Роберт Хайнлайн,
                                        “THE MAN WHO SOLD THE MOON” )

  Проблема – в том, что все, кто здесь работал, и я в том числе, хотели
сделать действительно чистую работу, только они не хотели чистой работы,
они хотели много – и быстро.
                                        ( Рик Бэйкер, гример в фильмах:
                                      “Кинг-Конг”, “Звездные войны” и т.д.)

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

  Я не знаю причины, по которой нам не следует этого делать, но, возможно,
позже мы придумаем какую-нибудь.
                        ( Марк Дэвисон )

– Ошибка? Это не ошибка, это системная функция.
                        ( Т. Джон Уэнделл )

  Комьютер “делает из всех нас дураков”.
                        ( В. р.152 )

  Глупец, лишенный способности посмеяться над собой вместе с другими, не
сможет долго выносить программирование.
                        ( В. р.152 )

  У компьютера всегда есть оправдание; у программиста – никогда.
                        ( Марк Дэвисон )

  Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
                        ( Э. Йодан )

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

  Работа не может быть выполнена должным образом, если нет необходимых
инструментов.
                        ( PROCEEDINGS OF THE IEEE, 2/78, р.174 )

                Я слышу и забываю.
                Я вижу и запоминаю.
                Я делаю и понимаю.
                        ( Конфуций )

  На пустом диске можно искать вечно.
                        ( COMPUTERWORLD BUTTON )

  Я пишу все свои критические программы на ассемблере, а комедийные – на
фортране.
                        ( аноним )

  Бесполезно придумывать защиту от дурака – ведь дураки так гениальны.
                        ( Э.Мэрфи, DEC )

  Интуитивно ясно, что наличие ошибки в программе не скажется на результатах
тестирования, если содержащая ошибку программная компонента при тестировании
не выполнялась.
                        ( Дж.Хуанг, “PROGRAM INSTRUMENTATION
                        SOFTWARE TESTING”, COMPUTER, volume 11,
                        number 4 )

  Если отладка – процесс удаления ошибок, то программирование должно быть
процессом их внесения.
( Э.Дейкстра ), когда у вас нет времени, чтобы разрешить те проблемы, которые отнимают у вас все время???                   ( Марк Дэвидсон ) 


Leave a Reply