? Качество сборки. При непрерывной доставке инвестируют в создание культуры, поддерживаемой инструментами и людьми, в которой можно быстро обнаружить любые проблемы и устранить их, пока это еще достаточно дешево.
? Работа короткими итерациями. Организации, как правило, планируют работу большими частями. Однако, разделяя ее на меньшие части, выполнение которых быстро обеспечивает измеримые результаты для небольшого сегмента целевого рынка, можно получить качественную обратную связь и благодаря этому оперативно вносить изменения в продукт.
? Автоматизация. Компьютеры выполняют повторяющиеся задачи, а люди решают проблемы. Инвестируя в упрощение и автоматизацию повторяющейся работы, которая занимает много времени (например регрессионное тестирование и развертывание ПО), можно снизить затраты и освободить людей для более ценной работы, например по улучшению структуры систем и процессов в ответ на обратную связь.
? Постоянные улучшения. Высокоэффективные команды никогда не бывают удовлетворены: они всегда стремятся к максимальному результату, и улучшение становится частью ежедневной работы каждого сотрудника.
? Ответственность каждого. В бюрократических организациях сотрудники обычно сосредоточены на целях своего подразделения, а не на организационных целях. Так, разработка фокусируется на пропускной способности, тестировании качества и обеспечении стабильности. Однако эти системные результаты могут быть достигнуты только при тесном сотрудничестве между всеми участниками процесса доставки программного обеспечения – разработчиками и тестировщиками, UX-специалистами, менеджерами по продукту, сотрудниками техподдержки. Для того чтобы каждый сотрудник понимал свою ответственность за общий результат, руководство должно: сделать прозрачным процесс достижения этих системных результатов; донести до остальной части компании организационные цели – измеримые, достижимые, привязанные к срокам; помочь командам в работе над ними.
Вот несколько способов улучшить доставку в вашей организации:
? Внедряйте непрерывную доставку. При НД система может быть развернута в производство или конечным пользователям в любое время.
? Используйте контроль версий для всех артефактов проекта. Контроль версий – это использование системы управления версиями, такой как Git или Subversion, для всех артефактов[3], включая код приложения, конфигурации приложений, системные конфигурации и скрипты для автоматизации сборки и настройки среды.
? Автоматизируйте процесс развертывания ПО. Сложные, долгие развертывания[4], которые часто выполняются в нерабочее время, способствуют стрессу и выгоранию. Руководители должны спросить свои команды, насколько болезненно происходит у них развертывание, и максимально его автоматизировать.