Какой методологией разработки пользовались на прошлой работе?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Применяемая методология разработки
На последнем коммерческом проекте мы использовали гибкую гибридную методологию, которая комбинировала принципы 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 проекта, с достаточным уровнем контроля над крупными и дорогостоящими инициативами. Ключевым уроком стало понимание, что методология должна служить проекту и команде, а не наоборот, и ее можно адаптировать под конкретные нужды разных этапов или компонентов разработки.