- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Deadline. Роман об управлении проектами - Том ДеМарко
Шрифт:
Интервал:
Закладка:
Белинда, как оказалось, тоже испытывала похожие чувства. С каждым днем она все больше времени проводила у себя под пальмой, читая книги. Более того, она снова поселилась на улице, так что в здании отеля ее можно было увидеть, только если погода на улице становилась совсем уж ненастной. Однажды мистер Томпкинс пришел к ней в парк и принес с собой две коробки для ленча.
— Пообедаем? — предложил он ей. — А то совсем нечего делать.
Белинда ухмыльнулась:
— Твоя работа уже закончена, Вебстер. В идеале так и должно происходить, только почему-то почти никогда не получается. Теперь ты можешь только взять бинокль и смотреть, как разворачиваются события. Как генерал Патгон, помнишь?
Мистер Томпкинс вспомнил, как ему понравилась история об этом генерале и его тактике, когда он только что услышал ее. Что может быть лучше, чем взирать на то, как один за другим сбываются твои планы! На деле все оказалось не так уж замечательно. Мистер Томпкинс просто с ума сходил от того, что не участвовал в активной жизни проекта. Интересно, не испытывал ли подобных чувств и Паттон?
Поев с Белиндой в парке, мистер Томпкинс отправился в библиотеку и взял там видеокассету о фильмом о Паттоне. Потом он отправился домой и там, в тишине и спокойствии, стал смотреть фильм. К его удивлению, Белинда немного ошиблась в изложении событий. Да, Паттон наблюдал битву в бинокль, и только. До этого он уже распределил маневры танковых подразделений, обеспечил поддержку с воздуха, распорядился о порядке и сроке подвоза боеприпасов на позиции, высчитал правильный момент для начала сражения. Далее, когда сражение началось, он просто стал безучастным наблюдателем. Но в конце он отложил бинокль и послал курьера к генералу Бродли с новым указанием. Он немного поменял план в ходе сражения. Он вмешался. Вот это настоящий руководитель! Ты заранее скрупулезно планируешь битву, обучаешь младший персонал, как вести себя во время сражения, и в результате все проходит без сучка, без задоринки. Остается только смотреть… но если вдруг происходит хоть малейшее отклонение от задуманного тобой плана, ты тут же реагируешь. Ты вмешиваешься в процесс и меняешь план.
— Все идет настолько гладко, что я уже начала скучать, — сказала мистеру Томпкинсу Молли Макмора, руководитель команды QuickerStill-B. — Разумеется, это хорошо. У процесса разработки архитектуры, который предложил нам Кенорос, есть один замечательный побочный эффект. У нас теперь есть превосходные метрики, с помощью которых можно наблюдать за ходом этой части проекта. Мы точно знаем, сколько в нашей системе модулей, и можем предсказать, сколько в них будет строк кода, сколько ожидается дефектов, как много времени уйдет на ликвидацию каждого дефекта, сколько мы потратим на каждую отдельную часть работы…
— Но как же вы можете с точностью угадать количество строк кода в несуществующем модуле?
— Дело в том, что половина всех запланированных модулей уже готова. И поскольку мы уже отработали технику на четырехстах первых модулях, то теперь нам несложно предсказывать, как пойдет работа над остальными.
— Но что действительно дает чувство контроля над разработкой, — продолжала Молли, — так это план по сборкам системы. Пошли, посмотришь сам.
Она провела его в комнату, где обычно собиралась для мозгового штурма команда QuickerStill-B. Там на стене висела разноцветная диаграмма.
— Изначально мы предполагали поставить всю систему за шестьдесят сборок. Каждая сборка представляет собой часть общей системы и привносит в нее необходимую функциональность. Сегодня мы выпускаем элемент под номером двадцать четыре. Как ты видишь, на диаграмме показано, что он состоит из четыреста девяти модулей. А вот элемент двадцать три, который мы закончили на прошлой неделе… — она нашла диаграмму для этого блока, — состоял из трехста девяносто двух модулей. А это значит, что в последнем блоке было семнадцать новых модулей. Вот здесь обозначены идентификатор и размер для каждого модуля.
— Здорово.
— Разумеется, здорово. Мы высчитали, сколько процентов всей системы реализовано в каждом блоке. Помнишь, мы предположили, что вся система составляет тысячу пятьсот функциональных единиц. Правда, постепенно мы пришли к выводу, что их больше — тысяча восемьсот пятьдесят. Когда мы выпустили первый блок, то оказалось, что в нем реализовано около двух процентов всей функциональности, то есть около тридцати семи функциональных единиц. Во втором блоке было добавлено еще тридцать единиц, поэтому, когда мы закончили над ним работать, все знали, что мы уже сделали шестьдесят семь единиц из тысячи восьмисот пятидесяти, или три и шесть десятых процента. И вот на этой диаграмме показана статистика по каждому блоку, которые мы выпускали.
— Каждый столбец на графике — это очередная сборка. Те, которые мы уже завершили, закрашены. Все приемочные тесты мы тоже разбили на части, так что сборка не считается завершенной, пока не пройдут приемочные тесты.
— Иными словами, — сказал мистер Томпкинс, разглядывая диаграмму, — когда элемент номер двадцать четыре пройдет приемочные тесты, вы будете знать, что уже сделали сорок шесть процентов всей работы.
— Да. Сейчас новая сборка выходит каждые два-три дня. — Молли отошла от диаграммы. — Теперь ты знаешь, почему я так уверенно говорю, что наш проект будет закончен к последней неделе июня. Все дело в том, что мы прислушиваемся к тому, как проект сам рассказывает нам, насколько далеко мы продвинулись в своей работе.
Мистер Томпкинс печально смотрел на дату выхода проекта. Как бы он хотел последний раз посмеяться над Бэллоком, выпустив хоть один проект 1 июня!
— Слушай, а нельзя ли каким-то образом немного ускорить разработку? Не то чтобы я жаловался… нет-нет, вы делаете свою работу просто замечательно, но я все же…
— Я знаю, о чем ты думаешь, — весело улыбнулась Молли. — 1 июня, да? Я тоже иногда об этом вспоминаю. Честно говоря, не представляю, как нам это сделать. Мы можем довольно быстро выпускать новые сборки и даже слегка ускорить этот процесс, но как же все остальное? Вот, смотри, — она показала ему другую диаграмму, пришпиленную тут же на стене. — Вот так мы тратим время на разработку каждого модуля: время кодирования, время на инспектирование кода, блочные тесты, документация, ну и так далее.
— А нельзя ли выкинуть отсюда что-нибудь?
Она еще раз посмотрела на диаграмму
— Я ничего такого не вижу. Больше всего времени тратится на проверку кода. Мы проверяем каждый модуль, как только закончится написание программного кода. Как правило, три человека делают это в течение часа. Не знаю, чем мы можем поступиться, но уж точно не проверкой кода.
Что-то в ее тоне заставило мистера Томпкинса насторожиться. Так-так… Он вспомнил мысли, которые пришли к нему во время поездки в горы. Не зацикливаться на том, что не знаешь. Обрати внимание на то, в чем ты, казалось бы, абсолютно уверен.
— А почему ты так уверена, что мы не можем не проверять программный код? — обратился он к Молли.
— Потому что это правило существует уже последние десять лет, Вебстер. Проверка кода — самый дешевый способ избежать ошибок. Если ты не отловишь их во время проверки, то потеряешь больше времени на тестировании, так что выгоды все равно никакой не будет, скорее, наоборот.
Как раз в этот момент к ним подошел Аристотель Кенорос.
— Точно, — поддержал он Молли. — Это очевидно. Самый простой и дешевый способ избежать ошибок в коде — это проверка.
— Кстати о качестве. Вот мы доподлинно знаем, что наши программисты пишут хороший код, — гордо сказала Молли, подходя к огромной красной надписи на дальней стене комнаты. Надпись гласила:
Ровно 14!
— Четырнадцать чего? — удивился мистер Томпкинс.
— Четырнадцать проверок кода без единой ошибки, — Молли прямо светилась от радости.
— Это впечатляет, — пробормотал мистер Томпкинс. — Я полагаю, мы вполне могли бы сэкономить те сорок два человекочаса, которые были затрачены на эти проверки кода, а на качестве продукта это никак бы не отразилось. Ведь ошибок все равно не было.
— Думаю, ты ошибаешься, — несколько раздраженно ответила Молли. — Именно благодаря проверке кода мы добились такого высокого качества работы.
— Только не благодаря последним четырнадцати, верно? Без них вполне можно было бы обойтись.
— Ммм… и тем не менее я могу предоставить данные, которые докажут, что проверка кода приносит проекту много пользы. Я не уверена сейчас в том, что помню цифры,…
— Прекратите, — прервал ее мистер Томпкинс. Он чувствовал, что идет по верному следу.
— А?
— Прекратите проверять код. Просто выбросьте эту фазу из процесса разработки.
— Подождите! — застонала Молли. — Мы не можем так поступить! Аристотель, ну скажи хоть ты ему. Скажи ему то же, что ты говорил нам о важности исправления ошибок во время проверки кода. Он же с ума сошел.