Тестирование программного обеспечения, поставляемого пользователям, часто бывает болезненным, рискованным и длительным процессом. Перед вами книга, представляющая совершенно новую стратегию разработки — набор принципов и практических методик, обеспечивающихбыструю инкрементную поставку высококачественного программного обеспечения. Благодаря автоматизации процессов сборки, установки и тестирования и улучшению взаимодействия разработчиков, тестировщиков и администраторов команда проекта получает возможность поставлять изменения иновые средства в течение считанных часов или даже минут, независимо от размера проекта и сложности его кодовой базы.
Авторы начинают с рассмотрения основ процесса быстрой и надежной поставки программного обеспечения с минимальными рисками. Затем они вводят понятие "конвейера развертывания" — автоматизированного процесса, управляющего всеми изменениями проекта, от регистрации изменений довыпуска очередной версии программы. И наконец, в книге обсуждаются способы поддержки непрерывного развертывания, начиная с инструментов управления инфраструктурами, данными и конфигурациями и заканчивая управлением целыми проектами.
Авторы предлагают передовые методики, включая автоматизированное управление инфраструктурами, перенос данных и применение средств виртуализации. Для каждой представленной стратегии приведен обзор ключевых проблем, возникающих при ее применении, описаны способы уменьшениярисков и оптимальные методики реализации.
В книге рассмотрены следующие вопросы:
- автоматизация всех процессов сборки, интеграции, тестирования и развертывания программного обеспечения;
- реализация конвейера развертывания на уровне команд и организаций;
- улучшение взаимодействия разработчиков, тестировщиков и администраторов;
- стратегии инкрементной разработки новых программных средств большими распределенными командами;
- реализация эффективных стратегий управления конфигурациями;
- автоматизация приемочного тестирования — от анализа требований до реализации процессов;
- тестирование производительности, безопасности, доступности и других нефункциональных требований;
- реализация непрерывного развертывания с минимальным временем простоя;
- управление инфраструктурами, данными, компонентами и зависимостями;
- управление рисками, аудит и соответствие проекта регуляторным требованиям и стандартам ведения бизнеса.
Книга будет полезна всем участникам процесса поставки — разработчикам, системным администраторам, тестировщикам и менеджерам проектов. Она поможет вашей организации внедрить современную технологию разработки и поставки программного обеспечения, ускорить процесс разработки,повысить надежность поставки и прибыльность проекта.
Джез Хамбл — главный консультант компании ThoughtWorks Studios, помогающей различным организациям быстро и надежно поставлять высококачественное программное обеспечение. Начиная с 2000 года работал в различных IT-компаниях системным администратором,разработчиком, инструктором, консультантом и менеджером проектов. Постоянный докладчик на конференциях, посвященных гибкой разработке программного обеспечения.
Дейвид Фарли в настоящее время участвует в проекте построения самой производительной в мире электронной биржевой системы — London Multi-Asset Exchange. Имеет 20-летний опыт работы с крупномасштабными распределенными системами и является активнымсторонником методик гибкой разработки. В компании ThoughtWorks работал техническим руководителем ряда важнейших проектов.