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