Книга: Как пасти котов. Наставление для программистов, руководящих другими программистами
Назад: Приложение Б. Как дать скотине в глаз —критический обзор кода электронного администратора
На главную: Предисловие

Библиография. Ресурсы для специалистов по выпасу котов

В библиографию я поместил все работы, упоминаемые в сносках, и ряд других трудов по теме книги — в основном те, которые недавно опубликованы.

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

Разработка программного обеспечения

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

Классические труды

• Brooks, Frederick P. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. New York: Addison-Wesley, 1995.

• Основываясь на собственном опыте деятельности в качестве руководителя проекта IBM 360, Брукс излагает принципы разработки, казавшиеся в его время новаторскими и полностью доказавшие со временем свою состоятельность. Его хрестоматийный принцип — «стоит ввести в запаздывающий проект новых людей, как он начнет запаздывать еще больше» — подтвержден многократно. Обязательное чтение для всех руководителей. С точки зрения технологии данные Брукса устарели, но проведенный им анализ задач персонала для групп разработчиков полностью актуален.

• Weinberg, Gerald M. The Psychology of Computer Programming, Silver Anniver­sary Edition. New York: Dorset House Publishing, 1998.

• Еще одна классическая работа в нашей области. Вейнберг, до сих пор продол­жа­ющий активные исследования, этой своей книгой 1971 года перевернул ­представления о разработке программных средств. Он одним из первых провел углубленный анализ человеческого фактора и руководства в программировании, объединив тем самым технические аспекты процесса разработки с психологией. Многие принципы, изложенные в этом издании, на сегодняшний день не менее актуальны, чем тридцать лет назад.

Выдающиеся работы

• Beck, Kent. Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley, 2000.

• Бек часто обращается к школе программной инженерии, но при этом предлагает новые методы и практические рекомендации для тех, кто окончательно погряз в процессе кодирования. С точки зрения руководителя его методология кажется несколько диковатой, однако нельзя не признать, что она способствует интеграции небольших групп разработчиков. Тем кто предпочитает писать код в одиночку, работа не понравится.

• Cockburn, Alistair. Agile Software Development. New York: Addison-Wesley, 2002.

• Термин «гибкая разработка» появился не так уж давно, но описанные в этой замечательной работе методы в полной мере адаптированы к реальным повсе­дневным попыткам перенести бизнес-требования на реализацию программных продуктов. Если в ходе разработки область действия разрастается (а разве бывает по-другому?), прочтите эту книгу — она научит адекватно реагировать на такого рода изменения.

• DeMarco, Tom, and Timothy Lister. Peopleware: Productive Projects and Teams, Second Edition. New York: Dorset House Publishing, 1999.

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

• Highsmith, James A., III. Adaptive Software Development. New York: Dorset House Publishing, 2000.

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

• Hunt, Andrew, and David Thomas. The Pragmatic Programmer. New York: Ad­dison-Wesley, 2000.

• Прекрасная книга! Заставьте прочесть ее всех программистов в своей группе. Справедливость советов, которые дают ее авторы, подтверждается годами опыта; не сомневаюсь, что по мере ознакомления с ней вы устанете кивать в знак согласия. Предложенная авторами практическая методика управления основывается на предотвращении хаотичности в разработке программных средств.

• McBreen, Pete. Software Craftsmanship. New York: Addison-Wesley, 2002.

• Смелыми и аргументированными рассуждениями Макбрин обеспечил своей книге устойчивые позиции среди литературы по программной инженерии. Несмотря на подзаголовок «Новые веяния», автор утверждает, что мастерство кодирования знаменует собой возврат к истокам разработки программных средств. Если вы согласны с тем, что кодирование есть не что иное, как искусство, эта книга для вас. Если вы не согласны, все равно прочтите эту книгу — возможно, она вас переубедит.

• McCarthy, Jim. Dynamics of Software Development. Redmond, WA: Microsoft Press, 1995.

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

Примечательные работы

• Brown, William H., et al. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. New York: John Wiley & Sons, 1998.

• Эта и следующая книги доходчиво доказывают педагогические преимущества ложных приемов. В книге анализируются проблемы, с которыми вы наверняка уже сталкивались. Кроме того, в ней изложены многочисленные полезные методики разрешения трудностей в кодировании.

• Brown, William H., et al. AntiPatterns in Project Management. New York: John Wiley & Sons, 2000.

• Эта книга, ориентированная на анализ методик управления с позиций негативных эталонов, органично дополняет мои соображения относительно «обратной стороны» деятельности руководителей (см. главу 7). Серьезно помогает в оценке собственного стиля руководства.

• Constantine, Larry L. Beyond Chaos: The Expert Edge in Managing Software Development. New York: Addison-Wesley, 2001.

• Сборник статей, написанных разными авторами, но, тем не менее, вышедших под именем Ларри Константайна. Тематический диапазон — от вопросов, связанных с персоналом, до процессов и соблюдения сроков. Менеджменту и коллективной работе посвящен целый раздел.

• Constantine, Larry L. The Peopleware Papers. Upper Saddle River, NJ:Yourdon Press, 2001.

• Концептуально Константайн относится к тому же лагерю, что и Демарко с Листером (см. раздел «Выдающиеся работы»). Работа представляет собой сборники­ статей, опубликованных за несколько лет в ведущих журналах, посвященных раз­работке программных продуктов. Книгу можно начинать читать с любой страницы. Особо занимательны взгляды автора на руководство специалистами.

• Glass, Robert L. ComputingFailure.com. Upper Saddle River, NJ: Prentice Hall, 2001.­

• Подборка рассказов Гласса о несостоятельных проектах. Акцент сделан на банкротствах в период бума интернет-компаний. Прекрасное изложение материала и дельные прогнозы по поводу связи незавершенки с объемом инвестиций.

• Glass, Robert L. Software Runaways. Upper Saddle River, NJ: Prentice Hall, 1998.­

• Уже много лет Гласс информирует общественность о несостоятельных программных проектах и весьма в этом преуспел. Анализ он проводит с точки зрения программной инженерии, а о последних «достижениях» пишет увлекательно и осведомленно.

• Maguire, Steve. Writing Solid Code. Redmond, WA: Microsoft Press, 1993.

• Акцент в этой книге делается на достижение безошибочности кода C, однако изложенные в ней принципы применимы к любому языку. Работа сопоставима с упомянутым в этом разделе изданием Макконнелла. Они обе написаны примерно в одно время и прекрасно дополняют друг друга.

• Malveau, Raphael, and Thomas J. Mowbray. Software Architect Bootcamp. Upper Saddle River, NJ: Prentice Hall, 2001.

• Книга эта входит в серию Всемирного института программных архитекторов (Worldwide Institute of Software Architects, WWISA). Прекрасно разъясняет существо программной архитектуры для тех, кто не отличает ее от проектного решения.

• McConnell, Steve. Code Complete. Redmond,WA: Microsoft Press, 1993.

• Хрестоматийный труд о программировании на C. Практические рекомендации сохраняют справедливость и сейчас, в контексте современных проблем кодирования — взять хотя бы раздел о соглашениях по именованию. Все, что сообщает Макконнелл, помогает писать самодокументированный код.

• Olson, Don S., and Carol L. Stimmel. The Manager Pool: Patterns for Radical Leadership. New York: Addison-Wesley, 2002.

• Если вам интересно сравнить собственные навыки руководства программистами­ с опытом других специалистов, эта книга — для вас. Различные модели руководства разбираются с психологической точки зрения. Особой похвалы авторы заслуживают за классификацию универсальных поведенческих моделей, которых придерживается большинство руководителей программных продуктов.

• Sewell, Marc T., and Laura M. Sewell. The Software Architect’s Profession: An Introduction. Upper Saddle River, NJ: Prentice Hall, 2002.

• Еще одно наименование из серии WWISA. Авторами выступили президент этого института вместе со своей женой — специалистом в области клинической психологии. Весьма занимательный труд, читается на одном дыхании. Роль про­граммного архитектора сравнивается с профессией «настоящего» архитектора.

• Yourdon, Edward. Death March. Upper Saddle River, NJ: Yourdon Press, 1999.

• Еще один классический труд. Всем нам приходилось участвовать в «умерших» проектах, и всякий раз мы не понимали, почему они такими становятся. Йордон объясняет не только причины этого явления, но и способы реанимации проекта (правда, дело это довольно сложное). Подзаголовок «Универсальное руководство разработчика программного обеспечения по реанимации «умерших» проектов» говорит сам за себя.

• Yourdon, Edward. Decline & Fall of the American Programmer. Englewood Cliffs, NJ: Yourdon Press, 1993.

• Первое издание этой книги, написанной одним из ведущих специалистов в нашей области, оказало эффект разорвавшейся бомбы. С тех пор многие рассматриваемые в этом труде Йордона темы получили продолжение в работах других авторов. Заголовок немного обескураживает, но содержание актуально по сей день. Во многих университетах эта книга даже введена в учебный план.

• Yourdon, Edward. Rise & Resurrection of the American Programmer. Upper Saddle River, NJ: Yourdon Press, 1996.

• Продолжение предыдущей работы Йордона, причем не менее значимое, чем первая часть. Обширный опыт Йордона позволяет ему с легкостью анализировать различные тенденции. Прекрасно дополняет более пессимистичный труд, изданный несколькими годами ранее.

Полезные работы

• Bullock, James, Gerald M. Weinberg, and Marie Benesh, eds. Roundtable on Project Management. New York: Dorset House Publishing, 2001.

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

• DeMarco, Tom. The Deadline. New York: Dorset House Publishing, 1997.

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

• Freedman, Daniel P., and Gerald M. Weinberg. Handbook of Walkthroughs, Inspections, and Technical Reviews. New York: Dorset House Publishing, 1990.

• Книга в значительной степени устарела, но, с другой стороны, проблема, которой она посвящена, очень мало исследована. В частности, здесь изложен подробный план проведения технических обзоров.

• Humphrey, Watts S. Managing the Software Process. New York: Addison-Wes­ley­, 1989.

• Классический труд. Прочитать его стоит всем — даже тем, чьи взгляды не совпадают с позицией Хэмфри, который исходит из принципов школы программной инженерии. Несмотря на то что с момента выхода книги прошло 15 лет, многие изложенные в ней универсальные принципы до сих пор актуальны; кроме того, любопытно сравнить предлагаемые в ней принципы с принципами других методологий разработки.

• Jones, Capers. Applied Software Measurement. New York: McGraw-Hill, 1991.

• Книга из серии Института программной инженерии (Software Engineering Insti­tute, SEI). (Кстати, в той же серии вышла предыдущая книга Уотса Хэмфри.) Ее предмет — контроль качества программных средств — не так очевиден, как кажется на самом деле. Вместо того чтобы мыслить по стереотипу «если оно работает, значит, можно выпускать», советую ознакомиться с изложенными в этой­ книге принципами и впредь перед компиляцией уделять больше внимания вопросам тестирования.

• Kerth, Norman L. Project Retrospectives. New York: Dorset House Publishing, 2001.

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

• Whitehead, Richard. Leading a Software Development Team: A Developer’s Guide to Successfully Leading People & Projects. New York: Addison-Wesley, 2001.

• Уайтхеду удалось написать доступную по стилю изложения книгу, ориентированную на начинающих руководителей программных проектов. Составленная по модели «вопрос-ответ», она очень удачно раскрывает многие из тех проблем, с которыми все мы сталкиваемся в деле выпаса котов.

Общие работы по менеджменту

• Carlson, Richard. Don’t Sweat the Small Stuff at Work. New York: Hyperion, 1998.

• Champy, James, and Nitin Nohria. The Arc of Ambition. New York: Perseus Books, 2000.

• Covey, Stephen R. Principle-Centered Leadership. New York: Simon & Schuster, 1992.

• Covey, Stephen R. The 7 Habits of Highly Effective People. New York: Simon & Schuster, 1989.

• Grove, Andrew S. Only the Paranoid Survive. New York: Random House, 1996.

• Katzenbach, Jon R., and Douglas K. Smith. The Wisdom of Teams. New York: HarperCollins, 1999.

• Pasternack, Bruce A., and Albert J. Viscio. The Centerless Corporation. New York: Simon & Shuster, 1998.

• Welch, Jack. Straight from the Gut. New York: Warner Business Books, 2001.

Работы по языкам программирования

• Appleman, Dan. Moving to VB .NET: Strategies, Concepts, and Code. Berkeley, CA: Apress, 2001.

• Foxall, James D. Practical Standards for Microsoft Visual Basic. Redmond, WA: Microsoft Press, 2000.

• Hollis, Billy S. Visual Basic 6 Design, Specification, and Objects. Upper Saddle River, NJ: Prentice Hall, 1999.

Разные работы

• Blake, William. The Complete Poetry and Prose of William Blake. Edited by David V. Erdman. Berkeley, CA: University of California Press, 1982.

• Elliot, T.S. Collected Poems 1909-1962. New York: Harcourt Brace Jovanovich, 1971.

• Kauffman, Stuart. At Home in the Universe. New York: Oxford University Press, 1995.

• Kranz, Gene. Failure Is Not an Option. New York: Simon & Schuster, 2000.

• Levinson, Daniel J. The Seasons of a Man’s Life. New York: Ballantine Books, 1978.

• Merton, Thomas. No Man Is an Island. New York: Harcourt Brace Jovanovich, 1955.

• Raymond, Eric S., ed. The New Hacker’s Dictionary, Third Edition. Cambridge, MA: The MIT Press, 1998.

• Rich, Adrienne. The Dream of a Common Language. New York: W.W. Norton & Company, 1978.

• Shenk, David. The End of Patience: Cautionary Notes on the Information Revo­lution. Bloomington, IN: Indiana University Press, 1999.

• Strathern, Paul. Turing and the Computer. New York: Doubleday, 1997.

• Tzu, Sun. The Art of War. New York: Dell Publishing, 1983.

• Wallace, James, and Jim Erickson. Hard Drive: Bill Gates and the Making of the Microsoft Empire. New York: John Wiley & Sons, 1992.

• Ullman, Ellen. Close to the Machine. San Francisco: City Lights Books, 1997.

• Yeats, William Butler. Selected Poems and Three Plays of William Butler Yeats. Edited by M.L. Rosenthal. New York: Collier Books, 1986.

Назад: Приложение Б. Как дать скотине в глаз —критический обзор кода электронного администратора
На главную: Предисловие