Fred Brooks известные цитаты

последнее обновление : 5 сентября 2024 г.

other language: spanish | czech | german | french | italian | slovak | turkish | ukrainian | dutch | russian | portuguese

Fred Brooks
  • На неудаче можно научиться большему, чем на успехе. В случае неудачи вы вынуждены выяснять, какая часть работы не сработала. Но в случае успеха вы можете верить, что все, что вы сделали, было великолепно, хотя на самом деле некоторые части, возможно, вообще не сработали. Неудача заставляет вас взглянуть в лицо реальности.

  • Девять человек не могут зачать ребенка за месяц.

  • Как получается, что проект отстает от графика на год? День за днем.

  • Покажите мне свои блок-схемы и спрячьте таблицы, и я по-прежнему буду в недоумении. Покажите мне свои таблицы, и мне обычно не нужны будут ваши блок-схемы; они и так очевидны.

  • Очень трудно убедительно и с риском для работы обосновать оценку, полученную без использования количественных методов, подкрепленную небольшим количеством данных и подтвержденную главным образом догадками менеджеров

  • Привлечение рабочей силы к завершенному программному проекту делает его более поздним

  • Ученый строит для того, чтобы учиться; инженер учится для того, чтобы строить.

  • Наиболее важной функцией, которую разработчики программного обеспечения выполняют для своих клиентов, является итеративное извлечение и уточнение требований к продукту. По правде говоря, клиенты сами не знают, чего они хотят. Они обычно не знают, на какие вопросы необходимо ответить, и почти никогда не задумывались о проблеме в деталях, которые необходимо конкретизировать.

  • Таким образом, вопрос руководства заключается не в том, стоит ли создавать экспериментальную систему и отказываться от нее. Вы это сделаете. Следовательно, планируйте отказаться от нее; вы это сделаете в любом случае.

  • Ученые строят, чтобы учиться; инженеры учатся строить.

  • Вынашивание ребенка занимает девять месяцев, независимо от того, сколько женщин ему назначено.

  • Нет ни одной разработки в области технологий или методов управления, которая сама по себе обещала бы хотя бы на порядок повысить производительность, надежность или простоту в течение десятилетия.

  • Систематически выявляйте лучших дизайнеров как можно раньше. Лучшие из них часто не самые опытные.

  • Я думаю, что приспособление к требованиям совершенства - это самая трудная часть обучения программированию.

  • Основной принцип обработки данных показывает, что глупо пытаться синхронизировать независимые файлы.

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

  • Основная проблема, связанная с сопровождением программ, заключается в том, что устранение дефекта имеет существенную (20-50%) вероятность появления другого. Таким образом, весь процесс состоит из двух шагов вперед и одного шага назад..

  • Руководитель должен в первую очередь отличать информацию о действиях от информации о статусе. Он должен приучить себя не реагировать на проблемы, которые могут решить его менеджеры, и никогда не реагировать на проблемы, когда он явно оценивает статус.

  • Даже самое совершенное планирование не настолько всезнающе, чтобы выполнить его правильно с первого раза.

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

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

  • Самая сложная часть создания программной системы - это принятие точного решения о том, что именно нужно создавать.

  • Эйнштейн утверждал, что должны существовать упрощенные объяснения природы, потому что Бог не капризен и не деспотичен. Подобная вера не утешает инженера-программиста.

  • Планируйте выбросить одну из них (реализацию); вы все равно это сделаете.

  • Успешное программное обеспечение всегда меняется.

  • Концептуальная целостность является наиболее важным фактором при проектировании системы.

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

  • Исследование за исследованием показывают, что самые лучшие дизайнеры создают конструкции, которые получаются быстрее, меньше, проще, понятнее и с меньшими затратами усилий. Разница между лучшими и средними моделями на порядок больше.

  • Сложность программного обеспечения - это неотъемлемое свойство, а не случайное. Следовательно, описания программного объекта, которые абстрагируются от его сложности, часто абстрагируют от его сути.

  • Сущность программного объекта - это конструкция из взаимосвязанных концепций: [...] Я считаю, что самой сложной частью создания программного обеспечения является спецификация, проектирование и тестирование этой концептуальной конструкции, а не работа по ее представлению и проверке точности представления.

  • Древняя пословица предупреждает: "Никогда не выходите в море с двумя хронометрами; возьмите один или три.

  • Язык управления заданиями - это худший язык программирования, когда-либо разработанный кем-либо для каких-либо целей.

  • Основным оружием программиста в бесконечной борьбе с медленной системой является изменение внутримодульной структуры. Нашим первым шагом должна стать реорганизация структур данных модулей.

  • Термин "архитектура" используется здесь для описания атрибутов системы, которые видит программист, т.е. концептуальной структуры и функционального поведения, в отличие от организации потока данных и элементов управления, логического проектирования и физической реализации. i. Дополнительные сведения, касающиеся архитектуры

  • Больше проектов по разработке программного обеспечения провалилось из-за нехватки календарного времени, чем по всем остальным причинам вместе взятым.

  • Магия мифов и легенд стала реальностью в наше время. Стоит набрать на клавиатуре правильное заклинание, и экран оживает, показывая то, чего никогда не было и быть не могло.... Компьютер и в этом отношении напоминает магию легенд. Если хотя бы один символ, одна пауза в заклинании произнесены не совсем правильно, магия не сработает. Люди не привыкли быть совершенными, и лишь немногие сферы человеческой деятельности требуют этого. Я думаю, что приспособление к требованиям совершенства - это самая трудная часть обучения программированию.