Как выглядел процесс разработки на ваших предыдущих местах работы?

Ответ

В большинстве команд использовался гибридный подход на основе 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-культура, ёбаная. Автоматизируем всё, кроме собственной жопы, которая вечно в огне.