UR.ANUS
Deadline. Роман об управлении проектами
вернуться

Демарко Том

Шрифт:

— Проще не бывает.

— Что?

— Я говорю, это совсем не сложно.

— Ну, я в этом не уверен…

— Да, я буду работать со всеми восемнадцатью командами, но учить их буду одному и тому же.

— Вы уже даже знаете, чему?

— Конечно!

— Но каким образом?!

— Смотрите, вы же сами мне только что сказали, что перед всеми проектными группами поставлены невозможные или почти невозможные сроки.

— Именно так.

— А это значит, что мы должны экономить время. Однако невозможно экономить время, пытаясь делать все больше и больше. Правда, многие этого не понимают.

— Что-что?

— Все это улучшение процесса, которое так заботит нашего замечательного Просперо и всех остальных сотрудников института, по сути означает прибавление к существующему процессу чего-то нового, дополнительного. Они смотрят на неидеальный процесс и думают: «А вот если добавить в него вот такие навыки и методики, результаты станут существенно лучше». Именно так понимают улучшение процесса на первом, втором, третьем и четвертом этажах. Разумеется, они стараются вносить в процесс только полезные изменения, не спорю. Однако у меня, на пятом этаже, под улучшением процесса понимается нечто совсем иное. Я считаю, что вместо того, чтобы добавлять что-то в процесс, из него надо что-то изымать.

— Интересно!

— Давайте возьмем для примера один из ваших проектов, Вебстер. Ну, например, команду Б, которая разрабатывает Quirk. Предположим, есть некоторая проблема, которую надо решить. Что-то мы упустили. Идет? Так вот, сейчас они этим не занимаются. Совсем, — для большего эффекта Кенорос сделал паузу. — Так чем же они вместо этого занимаются?

— Не знаю. Делают что-нибудь другое.

— Но не бездельничают?

— Нет, конечно.

— Значит, надо пойти посмотреть, что же они делают, а потом придумать, как сэкономить на этом время.

— Ммм, не знаю даже…

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

— Отладкой программ, я думаю. Похоже, это самая трудоемкая часть работы.

— Вот это и есть наша задача. Надо придумать, как сэкономить время на отладке программ.

— Вы научите их, как эффективнее отлаживать программы?

— Нет, — покачал головой Кенорос, — мы будем учиться эффективно проектировать.

То, что предложил Кенорос, до смерти напугало мистера Томпкинса. Аристотель называл свою технику «Код — в последнюю очередь», и состояла она в том, что сам процесс написания программного кода откладывался на самый конец проекта. Минимум сорок, а то и все шестьдесят процентов времени должно было уходить на низкоуровневое проектирование — неимоверно тщательное и детализированное. В этом случае, как утверждал Кенорос, необходимость в отладке программы настолько уменьшится, что команда сможет существенно сэкономить на этом время.

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

— Как же можно вот так взять и отменить отладку программы? — уже в который раз поражался мистер Томпкинс.

— Количество времени, которое нужно нам для отладки и исправлений, прямо пропорционально количеству ошибок, — ответил Кенорос голосом учителя, объясняющего материал недалекому ученику.

— Да, но тогда получается, что в нашей программе вообще не должно быть…

— Не должно быть ошибок. Правильно. Вы схватываете просто на лету.

— Совсем без ошибок?!

— Конечно. Вы же сами только что это сказали.

— Но как мы можем написать код без единой ошибки?

— Ну, смотрите. Вот только что вы обнаружили ошибку в одном из модулей. Где находится эта ошибка?

— В модуле.

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

— Правильно, это каждому известно. И что же?

— А то, что когда вы находите ошибку, то смотрите совершенно не туда, куда нужно.

— И куда же я смотрю? — осведомился мистер Томпкинс, поневоле раздражаясь.

— Вы смотрите внутрь модуля, в программный код.

— А куда я, по-вашему, должен смотреть?

— В проектную документацию. Там изложена вся необходимая информация об интерфейсах и взаимодействии различных модулей программы.

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

  • Читать дальше
  • 1
  • ...
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • ...

UR.ANUS - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • support@anus.bid