Аннотация

В 1994 году книга «Dessign Patterns» полностью перевернула объектно-ориентированную разработку программного обеспечения, предоставив классические решения повторяющихся задач проектирования. В 1999 году книга «Refactoring» изменила представление о проектировании, показав эффективные способы улучшения кода. В давно ожидаемой книге «Рефакторинг с использованием шаблонов» Джошуа Кериевски кардинально изменил подход к проектированию, объединив шаблоны проектирования с эволюционным процессом рефакторинга. Книга содержит теоретические сведения и практические инструкции по выполнению рефакторингов, управляемых шаблонами проектирования, а именно последовательности низкоуровневых рефакторингов, позволяющих разработчикам безопасно переходить в своих проектах к реализации шаблонов проектирования, по направлению к ним или выполнять рефакторинг с отказом от шаблонов проектирования. Используя код реальных проектов, Кериевски документирует размышления и действия, имевшие место при реальных рефакторингах более чем двух десятков проектов. Параллельно с этим он проясняет различия между разными шаблонами проектирования и предлагает наиболее простые и эффективные пути их реализации.

Аннотация

Основываясь на многолетнем опыте, эксперты Грегор Хоп и Бобби Вульф рекомендуют асинхронный обмен сообщениями в качестве оптимальной стратегии интеграции корпоративных приложений. Вместе с тем создание и развертывание решений, основанных на обмене сообщениями, представляет собой весьма непростую задачу для разработчиков. В книге «Шаблоны интеграции корпоративных приложений» рассматриваются шаблоны проектирования и приводятся практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии. Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а так же дают практические советы по созданию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния. Если вы хотите научиться управлять системой обмена сообщениями и обеспечивать ее поддержку, а также осуществлять мониторинг, эта книга – для вас.

Аннотация

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

Аннотация

Данная книга предназначена для прагматичных специалистов в области разработки программного обеспечения, которые хотят получить надежные, заслуживающие доверия ответы на большинство трудных вопросов, с которыми им приходится сталкиваться в процессе внедрения Scrum. В своей книге автор описывает все аспекты процесса внедрения: запуск процесса, оказание людям помощи в освоении новых ролей, структуризация коллективов, увеличение охвата, работа с рассредоточенным коллективом и, наконец, внедрение эффективных показателей и непрерывное совершенствование. В книге встречаются врезки под заголовком «Попробуйте прямо сейчас», включающие наиболее эффективные советы автора. Во врезках под заголовком «Возражения» автор воспроизводит типичные дискуссии с теми, кто сопротивляется переменам, и дает практические рекомендации, которые позволят вам аргументированно ответить на подобные возражения и развеять сомнения людей. – Практические способы немедленного начала внедрения, а также быстрого повышения вашей квалификации и получения желаемых результатов. – Способы преодоления индивидуального сопротивления переменам, которых требует Scrum. – Кадровое обеспечение Scrum-проектов и формирование эффективных коллективов. – Формирование сообществ в поддержку усовершенствования организации из энтузиастов. – Выбор технических приемов гибкой методологии разработки, которыми следует воспользоваться (или как минимум поэкспериментировать). – Руководство деятельностью самоорганизующихся коллективов. – Как добиться максимальной эффективности от Scrum-спринтов, планирования и методов повышения качества. – Распространение Scrum на проекты с рассредоточенными коллективами и на проекты, предполагающие использование нескольких коллективов. – Применение Scrum к проектам со сложными последовательными процессами или к проектам, которые должны отвечать требованиям различных стандартов. – Влияние Scrum на вопросы кадров, технического обеспечения и управления проектами. Независимо от того, выполнили ли вы лишь несколько спринтов или несколько проектов с применением гибкой методологии разработки, и от того, какова ваша нынешняя роль (менеджер, разработчик, наставник, руководитель Scrum-проекта, владелец продукта, аналитик, лидер коллектива или лидер проекта), эта книга поможет добиться еще большего успеха в вашем следующем проекте. Но она поможет вам и в гораздо более важном и ответственном деле: преобразовать всю вашу организацию.

Аннотация

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

Аннотация

Более двадцати лет опытные программисты во всем мире использовали книгу Мартина Фаулера Рефакторинг, когда им нужно было улучшить проект существующего кода, повысить удобство сопровождения программного обеспечения или облегчить понимание существующего кода. Это – такое долгожданное – новое издание было полностью обновлено, чтобы отразить важные изменения в области программирования. Второе издание книги содержит обновленный каталог рефакторингов и включает примеры кода на JavaScript, а также новые функциональные примеры, демонстрирующие рефакторинг без классов. Как и в первом издании, здесь объясняется, что такое рефакторинг, почему вы должны прибегать к нему, как распознать код, который нуждается в рефакторинге, и как успешно провести его независимо от того, какой язык программирования вы используете. Основные темы книги: – Понимание процесса и общих принципов рефакторинга. – Быстрое применение полезных рефакторингов для облегчения понимания и изменения программ. – Распознавание запаха в коде, который сигнализирует о возможном применении рефакторинга. – Каталог рефакторингов с объяснениями, мотивацией, техникой применения и простыми примерами. – Создание надежных тестов для рефакторингов. – Компромиссы и препятствия на пути рефакторинга.

Аннотация

В этой книге, выхода которой с нетерпением ожидало сообщество сторонников гибких методологий разработки программного обеспечения, описывается процесс подготовки требований к разрабатываемой системе, который позволяет экономить время, избавляет от необходимости в переделках и ведет к созданию более совершенных программ. Лучший способ создать программное обеспечение, максимально полно удовлетворяющее потребностям пользователей, – начать с пользовательских историй. Это простые, понятные и краткие описания функциональности, которая представляет деловую ценность для реальных пользователей. В книге приводятся подробные рекомендации относительно того, как следует писать пользовательские истории и включать их в жизненные циклы разработки проекта. Вы узнаете, что такое хорошие пользовательские истории и что делает истории плохими. Вы познакомитесь с практическими методами сбора историй, позволяющими добиться хороших результатов даже тогда, когда возможность непосредственного общения с пользователями отсутствует. Автор демонстрирует, как систематизировать подготовленные пользовательские истории, установить для них приоритеты и эффективно применять для решения задач планирования, разработки и тестирования программного обеспечения. • Моделирование пользовательских ролей. • Сбор историй: опрос пользователей, анкетный метод, наблюдение, собрания. • Работа с менеджерами, инструкторами, продавцами и другими представителями пользователей. • Написание пользовательских историй для приемочного тестирования. • Использование историй для ранжирования задач, составления графиков работ и оценки трудозатрат. • В конце каждой главы приводится список контрольных вопросов и упражнений для самопроверки. Книга будет полезна разработчикам, тестировщикам, аналитикам и менеджерам проектов, использующим любую гибкую методологию программного обеспечения: ХР, Scrum… и даже собственный гибкий подход.