а) Переработка существующих систем. б) Разработка новых модулей. в) Разработка проектов с использованием паттернов проектирования, юнит тестирования, рефакторинга.