← Назад к вопросам

Какой методологией разработки пользовались на прошлой работе?

1.2 Junior🔥 121 комментариев
#Опыт и софт-скиллы

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Применяемая методология разработки

На последнем коммерческом проекте мы использовали гибкую гибридную методологию, которая комбинировала принципы Scrum и Kanban с элементами Waterfall для этапов пре-продакшн. Такой подход был выбран осознанно, так как мы разрабатывали мобильную free-to-play игру на Unity для глобального рынка, что требовало баланса между креативностью, predictability и быстрой реакцией на метрики.

Ключевые элементы нашего подхода

1. Спринты по Scrum (2 недели) с Kanban-доской:

  • Мы проводили классические Scrum-церемонии: планирование спринта, daily stand-ups, ревью и ретроспективу.
  • Однако вместо строгого Sprint Backlog использовали Kanban-доску в Jira (столбцы: Backlog, Ready, In Progress, Review, Testing, Done) с WIP-лимитами. Это позволяло гибче переключать приоритеты в рамках спринта, если требовался срочный хотфикс или менялись данные аналитики.
  • Рабочий процесс в Unity был организован через Feature Branch workflow в Git.
// Пример организации кода, связанного с User Story в спринте:
// Ветка: feature/shop-currency-purchase
public class CurrencyShopPanel : MonoBehaviour
{
    // Разработка новой панели покупки валюты по задаче из спринта
    public void PurchaseCurrencyPack(CurrencyPack pack)
    {
        // Логика покупки
        AnalyticsService.TrackPurchase(pack.Id); // Нефункциональное требование - аналитика
    }
}

2. Waterfall-этапы для арт-контента и дизайна уровней:

  • Создание крупных игровых локаций, ключевых анимаций или обновлений визуального стиля проходило по более предсказуемому циклу: Концепт → Пре-продакшн (прототип в Unity) → Продакшн → Интеграция → Тестирование.
  • Это было необходимо для согласования с арт-аутсорсом и точного планирования ресурсов. Технические требования (Tech Art Spec) фиксировались до начала продакшна.

3. DevOps и CI/CD как основа:

  • Независимо от методологии, наш процесс держался на автоматизированном конвейере непрерывной интеграции и доставки (CI/CD).
  • Каждая ветка проходила автоматическую сборку в Unity Cloud Build, статический анализ кода (например, с помощью Unity Roslyn Analyzers) и прогон smoke-тестов.
# Упрощенный пример конфигурации CI-шага для Jenkins/GitLab CI:
unity_build:
  stage: build
  script:
    - /Applications/Unity/Hub/Editor/2022.3.18f1/Unity.app/Contents/MacOS/Unity
      -batchmode
      -quit
      -nographics
      -projectPath "$CI_PROJECT_DIR"
      -executeMethod BuildScript.PerformBuild
      -logFile "$CI_PROJECT_DIR/build.log"
  artifacts:
    paths:
      - Build/*.apk

Почему именно такой гибридный подход?

  • Scrum давал нам структуру, предсказуемость планирования для стейкхолдеров и регулярную обратную связь.
  • Kanban позволял оперативно вставлять в workflow критически важные правки баланса или мелкие улучшения UX на основе данных A/B-тестов, не дожидаясь нового спринта.
  • Waterfall-элементы для арта обеспечивали контроль качества и сроков на ресурсоемких задачах.
  • CI/CD и автоматическое тестирование (юнит-тесты через NUnit, интеграционные тесты) были "клеем", который связывал все процессы и позволял часто и безопасно выпускать билды.

Итог: Эта гибкая методология позволила нам совместить скорость итераций, необходимую для live-ops проекта, с достаточным уровнем контроля над крупными и дорогостоящими инициативами. Ключевым уроком стало понимание, что методология должна служить проекту и команде, а не наоборот, и ее можно адаптировать под конкретные нужды разных этапов или компонентов разработки.