Deadline. Роман об управлении проектами
Добавить в закладки К обложке
- Предисловие - Страница 1
- Глава 1Широчайшие возможности - Страница 2
- Глава 2Спор с Кэлбсрассом - Страница 6
- Глава 3Силиконовое поле - Страница 8
- Глава 4Завод по изготовлению CD-ROM - Страница 12
- Глава 5Великий Вождь Народов - Страница 15
- Глава 6Лучший в мире руководитель - Страница 19
- Глава 7Подбор персонала - Страница 24
- Глава 8Знаменитый доктор Риццоли - Страница 28
- Глава 9Марков, генерал в отставке - Страница 33
- Глава 10Абдул Джамид - Страница 37
- Глава 11Зловредный министр Бэллок - Страница 44
- Глава 12Человек, который умел считать - Страница 51
- Глава 13QuickerStill - Страница 58
- Глава 14Первый программист Моровии - Страница 63
- Глава 15Думать быстрее! - Страница 70
- Глава 16План работы по подготовке к летним Олимпийским играм - Страница 77
- Глава 17Гений по устранению конфликтов - Страница 83
- Глава 18Маэстро Диеньяр - Страница 87
- Интерлюдия - Страница 92
- Глава 19Часть и целое - Страница 95
- Глава 20Необходимые церемонии - Страница 100
- Глава 21Выход на финишную прямую - Страница 106
- Глава 22Сделка года - Страница 111
- Глава 23Пересадка в Риге по пути домой - Страница 115
— Не должно быть ошибок. Правильно. Вы схватываете просто на лету.
— Совсем без ошибок?!
— Конечно. Вы же сами только что это сказали.
— Но как мы можем написать код без единой ошибки?
— Ну, смотрите. Вот только что вы обнаружили ошибку в одном из модулей. Где находится эта ошибка?
— В модуле.
— Нет. Она находится на границе. На самой границе модуля. Конечно, бывают и локальные ошибки, в середине модуля, но их легче всего выловить и исправить. Самые коварные ошибки, настоящие, те, которые отнимают у разработчиков массу времени и сил, относятся к интерфейсу между модулем и всей остальной программой.
— Правильно, это каждому известно. И что же?
— А то, что когда вы находите ошибку, то смотрите совершенно не туда, куда нужно.
— И куда же я смотрю? — осведомился мистер Томпкинс, поневоле раздражаясь.
— Вы смотрите внутрь модуля, в программный код.
— А куда я, по-вашему, должен смотреть?
— В проектную документацию. Там изложена вся необходимая информация об интерфейсах и взаимодействии различных модулей программы.
— Но мы и так всегда пытаемся искать ошибки, когда просматриваем проектную документацию. Однако и после этого требуется неимоверное количество времени, чтобы устранить те неполадки, которые мы не заметили в первый раз.
— Вот и неправильно.
— Что неправильно? Что мы не замечаем отдельные ошибки?
— Нет, неправильно, что вы пытаетесь исправлять ошибки на стадии проектирования.
— Я не могу понять — о чем это вы?
— Я знаю это, потому что уже многие годы наблюдаю за тем, как проектируются программы — никто даже близко не подошел к точности, позволяющей видеть за дизайном системы программный код.
— Но мы всегда проектируем, прежде чем писать код, — все так делают.
— Разумеется. Только вот все занимаются этим не в то время, которое было отведено на проектирование. Скажем, в начале проекта команда создает некий документ. В этом документе есть немного философии, немного размахивания руками и надувания щек, может быть, общая структура будущей системы — вот, в общем, и все. И все это создается с одной-единственной целью: обезопасить себя от руководства, которому обязательно нужно видеть этот самый документ. Наконец начальство говорит: «Поехали». И теперь начинается самая интересная часть работы. Вся команда радостно запихивает никому не нужный документ на полку, где он пылится до окончания проекта. А вот когда они приступают к написанию кода, тут-то и начинается настоящее проектирование. Именно тогда, когда они пишут код! Вот когда принимаются решения о конкретных модулях, их поведении и интерфейсах. И вот эти решения вы уже никак не проверите.
Мистер Томпкинс только дух перевел. Ему страшно не нравилось то, к чему клонил Аристотель.
— Разумеется, низкоуровневый дизайн воплотить в жизнь куда как проще.
— Разумеется.
— Но только низкоуровневый.
— То, что вы называете высокоуровневым дизайном, на самом деле — философия и размахивание руками.
— Не знаю, не знаю… Что-то подсказывает мне, что вы почти во всем правы, и тем не менее…
— Конечно же, я прав. Низкоуровневое проектирование — единственная реальная вещь во всем проекте. А то, что столь напыщенно называют «концептуальным дизайном», на самом деле — одна показуха.
— Ну, допустим, вы правы. А если нет? Уж меня-то это точно должно беспокоить, правда? Допустим, я сделаю то, что вы советуете, а потом окажется, что вы ошиблись?
— Тогда вам хана, — весело улыбнулся Аристотель Кенорос.
— Вот это-то меня и беспокоит.
Господи, какая же выдержка ему понадобится, если он все-таки решится на этот эксперимент. Придется откладывать, и откладывать, и откладывать написание кода, копить все до самого конца проекта. А если дело не выгорит, то там еще образуется куча ошибок…
— Аристотель, скажите честно — чья это сумасшедшая идея? Кто это все придумал?
— Один парень.
— Вы сами?
— Нет, не я. Какой-то другой парень. Я даже не знаю его имени. Я сам практикую эту технику уже много лет, но выдумал ее не я.
— Вы даже не знаете, как его зовут?
— Нет, мы с ним общаемся через Интернет. Просто обмениваемся сообщениями. Это оракул, гуру, но имени своего он не называет. Могу дать вам его ID, если хотите. Спросите его сами, — Аристотель нацарапал несколько цифр на листке бумаги и протянул его мистеру Томпкинсу.
Мистер Томпкинс взял листок и отправился восвояси.
Из дневника мистера ТомпкинсаДелать работу по-другому
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118