Читаем Все о SCRUM. Изучение, разработка, интеграция полностью

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


Процесс

При каждом коммите разработчика инструмент на сервере интеграции (например, Jenkins или Travis) инициирует цепочку действий [58]. Цепочка обычно следующая:

✓ Компиляция и проверка.

✓ Запуск модульных тестов.

✓ Запуск тестов интеграции и приемочных тестов.

✓ Запуск инструмента, который проверяет синтаксис и корректность кода (например, Linter).

✓ Запуск инструмента, который проверяет качество кода (например, Sonar).

✓ Составление отчета.

✓ Подготовка версии ПО, готовой к использованию.

Непрерывная интеграция гарантирует, что недавно добавленный код отлично сочетается с предыдущим инкрементом.

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

Чтобы быстро устранить причину поломки, нужно запустить отладчик.

Когда следует начать?

Желательно овладеть непрерывной интеграцией до начала первого спринта. Если команда решает применить эту практику во время сезона, установка сервера и ПО попадает в бэклог в качестве технической работы.

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


Преимущества

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


Непрерывное развертывание

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

Такой ввод в эксплуатацию позволяет получить обратную связь еще быстрее и пройти тесты в более представительной среде.

Чтобы больше об этом узнать, можно обратиться к [Саке, DevOps].

19.1.2 Разработка через тестирование

Разработчик, который пишет код, проверяет его кусочек за кусочком: это называется модульным тестом.

Практика разработки через тестирование [Бек, TDD] идет дальше: сначала пишется модульный тест и уже затем – код, достаточный для его прохождения. Такой подход существенно снижает риски при написании кода.

Разработка через тестирование включает рефакторинг.


Сначала тест

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

Эта практика составляет рабочий процесс, в котором ответы на задаваемые вопросы приводят к созданию отличной архитектуры.

Она способствует быстрому проектированию и хорошему знанию кода разработчиками. По сути, это форма неявной документации.


Рефакторинг

Рефакторинг – это процесс улучшения кода без изменения его поведения. Улучшение качества достигается за счет упрощения и оптимизации текущего решения: команда убирает дублирование кода и делает его более простым и легким для восприятия. И, следовательно, для поддержания.

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

TDD = Написание теста в первую очередь + рефакторинг.

Внимание: помимо общего кода, это относится и к коду теста.

Рисунок 19.1 – Практика разработки через тестирование


Когда следует начать?

Для нового ПО – чтобы избежать технического долга

Перейти на страницу:

Все книги серии Библиотека цифровой трансформации

Менеджмент цифрового продукта. От идеи до идеала
Менеджмент цифрового продукта. От идеи до идеала

Цифровизация меняет потребительские услуги и промышленные процессы, проникая во все аспекты нашей жизни, а информационно-технологические компании становятся лидерами в своих отраслях. Традиционные отрасли также включаются в цифровую трансформацию, разрабатывая программное обеспечение для собственных нужд. Успех в этой среде требует управления жизненным циклом цифровых продуктов в условиях быстро меняющегося рынка, конкуренции и постоянного развития. Как управлять такими проектами знает Ярослав Шуваев, эксперт по корпоративным инновациям с более чем 10-летним опытом преподавания UX/UI-дизайна и продакт-менеджмента, основатель shuvaev.com.Независимо от того, в какой точке карьеры вы находитесь, «Менеджмент цифрового продукта» предоставит вам ценные знания и инструменты для успешной адаптации и роста в эпоху инноваций.Из этой книги вы узнаете:• что такое цифровой сервис и как его монетизировать;• какой продукт можно считать жизнеспособным;• какие циклы проходит проект и что делать на каждом этапе;• что нужно для масштабирования работы;• зачем создавать антихрупкую ИТ-компанию.Если вы владеете компанией и планируете внедрить цифровые технологии для улучшения бизнес-процессов, эта книга поможет понять, какие стратегии стоит применять. Она будет полезна и основателям стартапов в фазе кратного роста, и менеджерам продукта, стремящимся повысить свою эффективность, а также архитекторам, дизайнерам, разработчикам, аналитикам и другим участникам процесса создания цифровых продуктов.В формате PDF A4 сохранен издательский макет книги.

Ярослав Александрович Шуваев

Маркетинг, PR
UX/UI дизайн для создания идеального продукта. Полный и исчерпывающий гид
UX/UI дизайн для создания идеального продукта. Полный и исчерпывающий гид

Успех любого цифрового продукта складывается из многих факторов. Ваш продукт может быть уникальным и востребованным, но без проработанного UX ему не суждено заслужить лояльность клиента. Эта простая истина прекрасно известна Ярославу Шуваеву, основателю школы UXAcademy и руководителю крупных digital-проектов для российских и западных компаний, среди которых Администрация Президента, Внешэкономбанк, Coca-Cola, «Газпром», «Татнефть», «Башнефть», Bosco, QIWI, STADA и многие другие.«Моя главная цель – описать факты через призму личного опыта и конкретные жизненные примеры», – пишет Ярослав. Его книга – авторский подход к дизайну, выработанный годами плодотворной работы. Вы сделаете пользовательский опыт лучше, побуждая клиентов возвращаться к вашему продукту снова и снова.

Ярослав Александрович Шуваев

Программирование, программы, базы данных / Учебные пособия, самоучители / Справочники
Нет соединения с сервером, попробуйте зайти чуть позже