понедельник, 1 июля 2013 г.

Мифический человеко-месяц


На днях закончил чтение книги Фредерика Брукса "Мифический человеко-месяц". Не смотря на то, что первое издание книги было выпущено в 1975 году, а второе (которое я собственно и читал) - в 1995 году и даже учитывая тот факт, что некоторые главы книги окончательно устарели, тем не менее этот бестселлер просто напичкан фразами, которые актуальны и по сей день. Конечно, эта книга уже давно разошлась на цитаты, но я позволил себе выписать те, которые понравились лично мне.


Итак, прошу:

  • В основе планирования разработки программ лежит ложное допущение, что все будет хорошо, т.е. каждая задача займет столько времени, сколько «должна» занять.
  • Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше.
  • Оптимальный вариант - когда над задачей трудятся десять человек, семь из которых профессионалы, но система является продуктом одного ума или по крайней мере двух, действующих uno animo (как одно целое).
  • Общая тенденция заключается в перегруженности проекта второй системы идеями и украшательствами, благоразумно отложенными в сторону при работе над первым проектом.
  • Лучший друг менеджера проекта — его постоянный противник, независимая организация, тестирующая продукт.
  • "Я разбираюсь в этом. Я знаю, что нужно делать, но всякий раз, когда я пытаюсь заняться технической проблемой, какой-нибудь болван хочет, чтобы я принял решение по по воду грузовиков, или телефонов, или еще какой-нибудь ерунды".
  • Покажите мне блок-схемы, не показывая таблиц, и я останусь в заблуждении. Покажите мне ваши таблицы, и блок-схемы, скорее всего, не понадобятся: они будут очевидны.
  • Планируйте выбросить первую версию — вам все равно придется это сделать.
  • Концепция «работы на мусорный ящик» есть лишь признание того факта, что по мере приобретения опыта меняется проект.
  • Каждый продукт должен иметь нумерованные версии, и каждая версия должна иметь свой график работ и дату фиксации, после которой изменения включаются уже в следующую версию.
  • Сопровождение программ есть процесс, увеличивающий энтропию, и даже самое умелое его ведение лишь отдаляет впадение системы в безнадежное устаревание.
  • Нет ни одного открытия ни в технологии, ни в методах управления, одно только использование которого обещало бы в течение ближайшего десятилетия на порядок повысить производительность, надежность, простоту разработки программного обеспечения.
  • Системы различаются интерфейсами и меняются во времени не в силу необходимости, а лишь потому, что были созданы разными людьми.
  • Самая трудная отдельная задача в разработке программной системы — это точно решить, что разрабатывать.
  • Наращивать программу, а не строить сразу.
  • Крепкая методология может придать силу и освободить творческий ум, но она не может воспламенить или вдохновить того, кто занят нудной работой.
  • Долгое время я любил задавать кандидатам на работу программистом вопрос: «Где находится следующий ноябрь?». У действительно хороших программистов хорошее чувство пространства, у них обычно есть геометрическая модель времени.
  • Любыми средствами можно писать и плохие, и хорошие программы. Если не учить людей проектированию, то языки не имеют большого значения.

Комментариев нет:

Отправить комментарий