Система Orphus

Факты и заблуждения профессионального программирования

Автор: Роберт Гласс
Издательство: "Символ-Плюс", 2007
240 страницы
ISBN: 5-93286-092-8
ISBN: 978-5-93286-092-2

Материал предоставил: Сергей Тепляков
Найти в магазинах

Аннотация

Содержание
Комментарии

Аннотация

Автор, имеющий огромный опыт работы в индустрии ПО, посвятил свой труд ее фактам, мифам и недоразумениям. Он представил 55 фактов и 10 заблуждений, относящихся к менеджменту, жизненному циклу, качеству, исследованиям и образованию в сфере разработки ПО. Некоторые из них хорошо известны, о других, наоборот, знают немногие. Объективность изложения обеспечивается представлением противоположных точек зрения. Дано много ссылок на другие книги по разработке ПО, такие как считающиеся классикой в этом жанре «The Mythical Man-Month», «Peopleware» и «Design Patterns». Так что тем, кто захочет узнать больше о том или ином факте, не придется искать долго. Основное внимание уделяется менеджменту как главной проблеме современной индустрии ПО, отрицательной роли рекламных кампаний, которые побуждают людей гоняться за миражами, и человеческому фактору – специалистам, без которых создание программ немыслимо. Адресована широкому кругу читателей – от тех, кто управляет программными проектами, до программистов.

Содержание

Об авторе
Благодарности
Предисловие

Часть I. 55 фактов
Введение
Глава 1. О менеджменте
Человеческий фактор
Факт 1
Факт 2
Факт 3
Факт 4
Инструменты и методы
Факт 5
Факт 6
Факт 7
Оценка
Факт 8
Факт 9
Факт 10
Факт 11
Факт 12
Факт 13
Факт 14
Повторное использование
Факт 15
Факт 16
Факт 17
Факт 18
Факт 19
Факт 20
Сложность
Факт 21
Факт 22

Глава 2. О жизненном цикле
Требования
Факт 23
Факт 24
Факт 25
Проектирование
Факт 26
Факт 27
Факт 28
Кодирование
Факт 29
Факт 30
Устранение ошибок
Факт 31
Тестирование
Факт 32
Факт 33
Факт 34
Факт 35
Факт 36
Инспекции и экспертиза
Факт 37
Факт 38
Факт 39
Факт 40
Сопровождение
Факт 41
Факт 42
Факт 43
Факт 44
Факт 45

Глава 3. О качестве
Качество
Факт 46
Факт 47
Надежность
Факт 48
Факт 49
Факт 50
Факт 51
Эффективность
Факт 52
Факт 53
Факт 54

Глава 4. О научных исследованиях
Факт 55

Часть II. 5+5 заблуждений
Глава 5. О менеджменте
Заблуждение 1
Заблуждение 2
Человеческий фактор
Заблуждение 3
Инструменты и технологии
Заблуждение 4
Заблуждение 5
Оценка
Заблуждение 6

Глава 6. О жизненном цикле
Тестирование
Заблуждение 7
Обзоры
Заблуждение 8
Сопровождение
Заблуждение 9

Глава 7. Об образовании
Заблуждение 10

Выводы
Алфавитный указатель

Комментарии

Сергей Тепляков

Три факта о книге Роберта Гласса «Факты и заблуждения профессионального программирования»

Факт №1. Автор хотел назвать эту книги “The F-book”

Обсуждение

Роберт Гласс изначально хотел, чтобы эта книга получила название “Fifty-Five Frequently Forgotten Fundamental Facts (and a Few Fallacies) about Software Engineering” (Пятьдесят пять часто забываемых фундаментальных фактов (и несколько заблуждений) из области разработки программного обеспечения), или коротко “The F-book”, однако издатели посчитали первое название слишком длинным, а во втором названии букву F – слишком грязной (F-word обозначает не только слово, начинающееся с буквы F, но и вообще слово, не рекомендуемое к употреблению в приличном обществе (спасибо редакторам за разъяснения)), поэтому сошлись на более коротком и презентабельном названии.

Полемика

Каждый автор мечтает о том, чтобы его книга выделялась среди множества книг других авторов. Некоторые наиболее популярные и известные книги получают неформальные названия (например, GoF-book или Dragon-book), которые дают им преданные читатели, и вполне понятно желание Роберта Гласса, чтобы его книга получила подобное особое название. Однако одного желания автора недостаточно, чтобы это произошло и несмотря на намеки автора о неформальном названии этой книги, она так и не получила свое неформальное имя (хотя кто знает, возможно еще не все потеряно).

Факт №2. Практически каждый профессиональный разработчик найдет что-то полезное в этой книге

Обсуждение

Роберт Гласс на страницах этой книги поднимает весьма широкий спектр вопросов и проблем, с которыми сталкиваются профессиональные разработчики во время своей повседневной деятельности. В книге можно выделить несколько ключевых тем: сложность программных продуктов и процессов; неправильные оценки и давление сроков сдачи; проблемы устранения ошибок; инспекция кода; особенности сопровождения программных продуктов и многое другое.

Полемика

По словам самого же автора, в этой книге он стремится ответить на вопрос «Что?», а не «Как?». «Здесь для меня важно вытащить эти факты обратно на поверхность, где их можно свободно обсуждать и достичь прогресса в практическом следовании им». Он поднимает широкий спектр вопросов, которые целиком покрывают жизненный цикл процесса разработки и пытается обратить ваше внимание на ту или иную проблему. Автор не дает ответы на поднимаемые вопросы, и считает, что самое главное – это осознание того факта, что эта проблема вообще существует.

Польза от этой книги напрямую зависит от опыта читателя. Для одних будут наиболее интересными вопросы об управлении проектами, человеческом факторе и сложностях оценок; для вторых – вопросы проектирования, архитектуры и особенности перехода от проектированию к кодированию; для третьих – вопросы сложности ПО и ответ на вопрос, почему увеличение сложности задачи на 25% приводит к увеличению сложности решения на 100%; для четвертых – особенности тестирования, инспекции кода и ответ на вопрос, почему стопроцентное покрытие кода тестами ничего в итоге не дает; для пятых – сложности, связанные с сопровождением продукта и вопросом, какой процент затрат идет на исправление ошибок и на разработку новых функций; для шестых– ответ на вопрос, почему же качество современных программных продуктов такое низкое.

Большая часть этих фактов и заблуждений в том или ином виде обсуждается в других источниках, но нужно признать, что автор во многом прав и далеко не все в нашей области знают, помнят и осознают эти проблемы. С фактами из этой книги можно соглашаться или не соглашаться, но главное, «чтобы ваш творческий дух получил по ходу дела дополнительный стимул, а в голове уже зрели мысли о том, как нам лучше выполнить работу по созданию и сопровождению ПО».

Факт №3. Книга Роберта Гласса весьма интересна, но до шедевра явно не дотягивает

Обсуждение

Книга Роберта Гласса будет полезной многим разработчикам, но я не могу поставить ее в один ряд с книгами Демарко и Листера, Брукса и Йордона, Ханта и Томаса. Книга интересна и полезна, но не гениальна.

Полемика

Этот факт является весьма спорным и многие читатели этой книги могут со мной не согласиться. Гениальность произведения сложно описать словами и еще сложнее обосновать, почему одна книга относится к гениальной, а другая – нет. Нужно признать, что эта книга весьма популярна у читательской аудитории, но нужно признать и то, что ее не цитируют в каждой второй книге по разработке ПО. Книга производит впечатление добротной, хорошо проработанной, она достойно раскрывает практически все темы, которых касается, но все же ей чего-то не хватает. Роберт Гласс придерживается своего стиля, местами ироничного, местами серьезного. Но читая факты нет ощущения эйфории, как от чтения Демарко или Брукса. Разница владения языком становится особенно заметной в главах о менеджменте, в которых Роберт как раз опирается на «Человеческий фактор» и «Мифический человеко-месяц». Написано хорошо, интересно, но цитат, которые бы подошли на роль плакатов в комнату программистов, увы, практически нет. Если взять вопрос о сложности ПО, то ему в книге уделено 15 (!) фактов, но при этом полнота и качество изложения существенно уступает Бруксу и Бучу. Опять же, хорошо, добротно, но не гениально.

Завершая полемику этого факта, стоит признать, что количество книг, которые компьютерное сообщество признает гениальными – единицы. Как и в любой другой области, в области компьютерной литературы, гениев слишком мало и движение вперед основано на добротных профессионалах, к которым и относится книга Роберта Гласса с его фактами и заблуждениями профессионального программирования.