Как пасти котов. Наставление для программистов, руководящих другими программистами - Дж.Ханк Рейнвотер
Шрифт:
Интервал:
Закладка:
67
James A. Highsmith III, Adaptive Software Development (New York: Dorset House Publishing, 2000), p. 40.
68
«Стандарты программирования» – выражение многозначное. Диапазон его значений простирается от инструкции по написанию качественной процедуры до утверждения единственной точки выхода из подпрограммы. Список этот можно продолжать бесконечно. Объединяющий принцип прост – заведите стандарт и придерживайтесь его.
69
Что такое кошмар для программиста? Это когда он вынужден не спать всю ночь, исправляя код, в котором, внеся одно исправление в одном объекте, получает изменение в трех местах другого объекта.
70
T.S. Elliot, Collected Poems 1909–1962 (New York: Harcourt Brace Jovanovich, 1971), p. 82.
71
См. Humphrey, op. cit., p. 5.
72
Capers Jones, Applied Software Measurement (New York: McGraw-Hill, 1991), p. 1.
73
Специалистам по VB я рекомендую труд James D. Foxall, Practical Standards for Microsoft Visual Basic (Redmond, WA: Microsoft Press, 2000). Что касается других языков, выбор литературы обширен; взять хотя бы классическое издание по С – Steve Maguire, Writing Solid Code (Redmond, WA: Microsoft Press, 1993). Дополнительную литературу см. в библиографии.
74
См. Hunt and Thomas, op. cit. – авторы обозначают хаотичность в разработке программных продуктов изысканной метафорой: «не надо жить с разбитыми окнами». Я более чем уверен, что эта книга обязательно должна занять достойное место в вашей библиотеке, – уж очень она хороша.
75
Хотите верьте, хотите нет, но я эту книгу прочел. Michael J. Gelb, How to Think Like Leonardo da Vinci (New York: Dell Publishing, 1998), p. 9.
76
Есть одна восхваляющая амбициозность книга, которая мне очень нравится. James Champy and Nitin Nohria, The Arc of Ambition (New York: Perseus Books, 2000).
77
Кстати, это неплохой маркетинговый прием – по крайней мере, я такие книги покупаю.
78
См. Brown et al, AntiPatterns in Project Management, op. cit.
79
Brown et al, AntiPatterns in Project Management, op. cit., p. 39, 40.
80
Именно так (в переводе с греческого: «нашел!») выразился Архимед, открыв основанный на принципе плавучести метод проверки чистоты золота.
81
В оригинале – «product evangelist». Если бы не параллель с евангелистской терминологией, которую приводит автор, мы, несомненно, предпочли бы перевести это словосочетание как «проповедник продукта». – Примеч. перев.
82
Среди изданий, перечисленных в библиографии, присутствует книга «Extreme Programming Explained» Кента Бека (Kent Beck).
83
Paul Strathern, Turing and the Computer (New York: Doubleday, 1997), pp. 75–78.
84
Daniel J. Levinson, The Seasons of a Man's Life (New York: Ballantine Books, 1978), p. 7.
85
ARPA – это сокращение от Advanced Research Projects Agency (Управление перспективных исследовательских программ) – ведомства, которое в 1970-х годах было переименовано в DARPA. Первая буквы D в этой новой аббревиатуре обозначала принадлежность к министерству обороны США (defense – оборона), заведовавшего ракетами, бомбами с лазерным наведением, технологией «Стелс» и всеми прочими прелестями времен холодной войны.
86
Andrew S. Grove, Only the Paranoid Survive (New York: Random House, 1996), p. 3.
Русский перевод книги доступен на http://lib.rus.ec/b/92541 (прим. сост. FB2)
87
See James Wallace and Jim Erickson, Hard Drive: Bill Gates and the Making of the Microsoft Empire (New York: John Wiley & Sons, 1992).
88
Ibid., p. 61.
89
Don S. Olson and Carol L. Stimmcl, The Manager Pool: Patterns for Radical Leadership (New York: Addison-Wesley, 2002), p. 9.
90
Я серьезно! Присылайте рассказы о своем пути на лидерском поприще по адресу [email protected]
91
Bruce A. Pasternack and Albert J. Viscio, The Centerless Corporation (New York: Simon & Shuster, 1998), p. 15.
92
Ну то есть поспорить можно, но какой в этом смысл? Я много лет пользуюсь продуктами Microsoft и не испытываю особых затруднений – полагаю, у вас та же ситуация.
93
Рекомендую в этом контексте ознакомиться с предложениями Йордона (Yourdon) по вытягиванию проектов, изложенными в книге «Death march» (см. библиографию).
94
Лишь те, кто живет в обществе, подобном нашему, могут претендовать на звание героев. Впрочем, считайте, что вам повезло получить хорошую работу, и старайтесь выкладываться на все сто. Настоящие герои умерли одиннадцатого сентября в попытках спасти невинных жертв.
95
«Введение в запаздывающий проект новых сотрудников увеличивает время разработки» – см. Brooks, op. cit, p. 25.
96
Если вы женщина, стали бы вы встречаться с типом, который, стараясь скрыть правду, обматывает голову последним оставшимся волосом, как тюрбаном? Не думаю. Хотя если вы знаете даму, которая на это пойдет, дайте телефончик.
97
Каюсь, в этой книге я слишком вольно обращался с терминами «мастерство» и «искусство» и недостаточно акцентировал ваше внимание на том, что разработка программных средств – это, как-никак, инженерная дисциплина. Но такой выбор был осознанным – посвятив долгие годы разработке аппаратных средств, я на короткой ноге с прикладными научными дисциплинами. Я все же предпочитаю рассматривать нашу отрасль как жанр искусства, хотя, конечно, признаю, что в определенных случаях без строгих научных изысканий не обойтись. Более подробно об этом я поговорю в следующей главе.
98
Gene Kranz, Failure is Not an Option (New York: Simon & Schuster, 2000), p. 393.
99
Естественно, при разработке критически важных приложений ставки повышаются. Я до сих пор не доверяю финансовым операциям через Интернет. Знаете, почему? Потому что я знаю тех ребят, которые писали программы для этих операций.
100
ChessMaster 5000. Не думаю, что производитель будет сильно против, если я позаимствую из его игры структуру меню – в конце концов, это устаревшая версия. Кстати, более свежую и, соответственно, более мощную версию мне одолеть пока что не удалось!
101
Grove, op. cit., p. 127.
102
См. статью Челлис Ходж (Challis Hodge) «Smoothingthe Path» по адресу http://www.webtcchniques.com/archives/2001/11/hodgc/. Ходж – основатель и генеральный директор HannaHodge, – чикагской компании, занимающейся изучением взаимодействия пользователей с системами. Кроме того, он разработал план преподавания дисциплины «проектирование интерфейсов» для Висконсинского университета и возглавил разработку пользовательских интерфейсов для корпоративных веб-решений компании IBM.
103
Это «переработка» известного высказывания Пастера (Pasteur): «шанс приходит только к тем, кто к нему готов». Авторство парафраза принадлежит не мне – впервые я его услышал в детстве из уст отца.
104
Помимо всего прочего, я опасался, что глава под названием «Разное» не вызовет должного читательского интереса.
105
О сотрудничестве и уединении мы говорили в главе 4.
106
См. http://www.erooni.com, http://www.fox.se/engiish/starteam/starteam_version_control.htm и другие предложения от IBM и Symantec.
107
Не говорите англичанину про богатый (rich) пользовательский интерфейс. Он обязательно подумает, что интерфейс слишком дорогостоящий.
108
Хотя она чем-то напоминает арахисовое масло, уверяю вас, совсем не так вкусна!
109
Из отчета наконференции Network World Fusion (http://vww.nwfusion.corn/careers/2001/0402mari.html).
110
Первый функционирующий микропроцессор появился в 1971 году.
111
См. Glass, Software Runaways, op. cit.
112
См. IEEE Standard Computer Dictionary (Institute of Electrical and Electronics Engineers, Институт инженеров по электротехнике и электропике, 1990).
113
Humphrey, op. cit., p. ix.
114
См. Glass, Software Runaways, op. cit., p. 56.
115
В том числе и моя, естественно.
116
Solutions Development Discipline Workbook (Redmond, WA: Microsoft Corporation, 1996), pp. 1-17.
117
В первую очередь, я имею в виду работу Jim McCarthy, Dynamics of Software Development (Microsoft Press, 1995). Вероятно, именно в ней впервые сформулированы некоторые основополагающие принципы MSF.
118