Ответ
В большинстве команд использовался гибридный подход на основе Agile (Scrum/Kanban) с двухнедельными спринтами. Вот типичный цикл:
1. Планирование и отслеживание:
- Инструменты: Jira, Azure DevOps или Linear.
- Процесс: Бэклог продукта, планирование спринта с оценкой в story points, ежедневные стендапы.
2. Разработка и контроль качества:
- Git-стратегия: Упрощённый GitFlow или Trunk-Based Development с короткоживущими feature-ветками.
- Code Review: Обязательный процесс через Pull/Merge Requests в GitHub/GitLab. Акцент на читаемость, архитектуру и покрытие тестами.
- Тестирование: Многоуровневая пирамида: юнит-тесты (xUnit/NUnit), интеграционные тесты, сквозные (E2E) тесты для критических сценариев.
3. Интеграция и поставка (CI/CD):
- CI (Непрерывная интеграция): Автоматический запуск сборки и тестов при каждом пуше в ветку. Использовались GitHub Actions или Azure Pipelines.
# Пример шага CI в GitHub Actions для .NET - name: Run tests
run: dotnet test --configuration Release --verbosity normal
- CD (Непрерывная поставка): Автоматический деплой успешных сборок на staging-окружение. Продакшен-деплой часто был ручным с одобрением (approval).
- Стратегии деплоя: Blue-Green или Canary-деплой для минимизации даунтайма и рисков.
4. Мониторинг и обратная связь:
- Инструменты: Application Insights, Datadog или ELK-стек для логирования и метрик.
- Процесс: Пост-релизный мониторинг, сбор фидбека и ретроспективы спринта для постоянного улучшения процесса.
Ключевой тренд — автоматизация рутинных задач (тесты, сборка, деплой) и смещение ответственности разработчиков в сторону операционной надёжности (DevOps-культура).
Ответ 18+ 🔞
Ага, вот эта самая "гибридная хуйня", которую все так любят называть Agile. По факту — обычный скрам с камбаном на минималках, потому что без двухнедельных спринтов народ начинает забывать, за что ему деньги платят. Смотри, как обычно это выглядит:
1. Планирование и пиздёж:
- Инструменты: Jira, Azure DevOps или что там у вас модно. Главное — чтобы тикетов было дохуя, а прогресс на доске двигался, даже если реально нихуя не делается.
- Процесс: Бэклог, который вечно перегружен, планирование спринта с оценкой в стори поинтах — все врут как сивые мерины, а на стендапах рассказывают, какой они молодец и что вчера "работал с техническим долгом", а по факту — гуглил, почему у него в консоли ошибка.
2. Разработка и качество, которого нет:
- Git-стратегия: Либо упрощённый GitFlow, где мерж-конфликты решают, как мировую войну, либо Trunk-Based, но с ветками, которые живут дольше, чем некоторые отношения.
- Code Review: Обязлово через пул-реквесты. Там все такие принципиальные: "ой, тут нейминг не тот", "ой, тут можно элегантнее", а сам в это время свой код на коленке пилит. Главное — покрытие тестами, даже если тесты ебут мозг и ничего не проверяют.
- Тестирование: Пирамида тестов, которая на деле больше похожа на перевёрнутый торт: юнит-тестов — кот наплакал, интеграционных — ещё меньше, зато E2E-сценарии, которые падают от чиха и гоняются по три часа.
3. Интеграция и поставка (CI/CD):
- CI (Непрерывная интеграция): Автоматическая сборка и тесты на каждый пуш. Выглядит солидно, а по факту — пол-команды сидит, ждёт, когда пайплайн позеленеет, потому что вливать в мастер страшно.
# Пример шага CI в GitHub Actions для .NET - name: Run tests
run: dotnet test --configuration Release --verbosity normal
- CD (Непрерывная поставка): На стейджинг деплоится автоматом, а вот на прод — только после пяти подписей, молитвы и жертвоприношения. Потому что все боятся, как бы не наебнуться на ровном месте.
- Стратегии деплоя: Blue-Green или Canary, чтобы если что — откатиться быстрее, чем менеджмент успеет охреневать. Но обычно всё равно косяки всплывают только у пользователей.
4. Мониторинг и обратная связь, которую все игнорят:
- Инструменты: Application Insights, Datadog — короче, куча графиков и логов, которые никто не смотрит, пока всё не ебнется.
- Процесс: После релиза все делают вид, что мониторят метрики, а на ретроспективе вспоминают, что "надо бы больше тестов писать" и "распилить тот монолит". И так каждый спринт, ёпта.
А главный тренд, блядь, — это чтобы разработчик был и за код, и за деплой, и за мониторинг, и ещё чтобы чайник в офисе починил. DevOps-культура, ёбаная. Автоматизируем всё, кроме собственной жопы, которая вечно в огне.