Россия |
Модели процессов и команды методологии MSF
Ролевой кластер "Разработка"
Первостепенной задачей ролевого кластера "Разработка" является построение решения в соответствии со спецификацией. Ее выполнение означает создание решения, соответствующего ожиданиям заказчика и условиям, сформулированным в функциональной спецификации. Также данный ролевой кластер строго следует выработанной архитектуре и дизайну решения, которые совместно с функциональной спецификацией составляют сводное описание конечного продукта.
В дополнение к функции непосредственной разработки решения на данный ролевой кластер возлагаются обязанности по технологическому консультированию проектной группы. В этом качестве разработчики занимаются подготовкой исходных данных для проектирования и выбора технологического инструментария решения. Также ролевой кластер "Разработка" создает функциональные прототипы для проверки правильности принятых решений и уменьшения рисков.
В качестве создателей решения разработчики осуществляют низкоуровневое проектирование решения и его элементов, оценивают трудозатраты на реализацию и затем осуществляют построение самого решения. Разработчики сами оценивают собственные затраты и отслеживают расписание, поскольку их повседневная деятельность сопряжена с различными нештатными ситуациями. Эта концепция называется оцениванием снизу вверх (bottom-up estimation) и является фундаментальной частью философии MSF. Цель данной концепции состоит в достижении большей обоснованности календарного плана и увеличении чувства ответственности тех, кто определяет сроки этого плана, и от чьей производительности зависит его выполнение.
Технологическое консультирование
- Выполнение функций технологических консультантов.
- Оценивание и верификация технологий.
- Активное участие в создании и обсуждении функциональной спецификации.
- Вклад в создание корпоративных стандартов разработки программного обеспечения.
Проектирование и осуществление реализации
- Соотнесение архитектуры решения с архитектурой предприятия.
- Создание и реализация логического и физического дизайна решения.
Разработка приложений
- Программирование составляющих решения в соответствии с проектной документацией.
- Анализ и обсуждение программного кода (code reviews) с целью обмена знаниями и опытом.
- Осуществление тестирования модулей (unit testing) в соответствии с планом и в координации с ролевым кластером "Тестирование".
Разработка инфраструктуры
- Создание составляющих решения в соответствии с проектной документацией.
- Анализ и обсуждение программного кода с целью обмена знаниями и опытом.
- Осуществление тестирования модулей в соответствии с планом и в координации с ролевым кластером "Тестирование".
- Разработка скриптов автоматизации.
- Создание внедренческой документации.
Ролевой кластер "Тестирование"
Задача ролевого кластера "Тестирование" (test) – одобрение выпуска продукта только лишь после того, как все дефекты выявлены и улажены. Любое программное обеспечение содержит дефекты. Но нужно обнаружить и уладить (address) все из них до того, как продукт выпущен. Улаживание дефекта может подразумевать различные решения, начиная от устранения и заканчивая документированием способов обхода дефекта (work-around). Поставка продукта с известным дефектом, но с описанием способов его обхода является более предпочтительной, чем поставка продукта с невыявленным дефектом, который в дальнейшем станет сюрпризом – как для проектной команды, так и для заказчика.
Чтобы достичь успеха, команда тестировщиков должна фокусироваться на определенных ключевых задачах. Они структурируются в виде трех областей компетенции.
Планирование тестов
- Разработка методологии и плана тестирования.
- Участие в установлении стандарта качества (quality bar).
- Разработка спецификаций тестов.
Разработка тестов
- Разработка и поддержка автоматизированных тестов (automated test cases), инструментов и скриптов.
- Проведение тестов с целью определения состояния проекта.
- Управление билдами (manage the build process).
Отчетность о тестах
- Доведение до сведения проектной группы информации о качестве продукта.
- Мониторинг найденных ошибок с целью обеспечения их улаживания до выпуска продукта.
Ролевой кластер "Удовлетворение потребителя"
Цель этого ролевого кластера (удовлетворение потребителя - user experience) – повышение эффективности использования продукта. Кластер состоит из шести областей компетенции: общедоступность (accessibility), интернационализация (internationalization), обеспечение технической поддержки (technical communications), обучение пользователей (training), удобство эксплуатации (usability) и графический дизайн (graphic design). В рамках каждой из своих областей компетенции ролевой кластер "Удовлетворение потребителя" имеет несколько зон ответственности, необходимых для потребительского успеха решения. Ниже следует их перечисление.
Общедоступность
Учет требований общедоступности (доступности для людей с недостатками зрения, слуха и т.п.) в дизайне решения.
Интернационализация
Улучшение качества и удобства эксплуатации решения в иноязычных средах.
Обеспечение технической поддержки
- Проектирование и разработка документации для служб поддержки (настольные руководства сотрудников служб поддержки, базы знаний и т.д.)
- Наполнение системы помощи.
Обучение пользователей
Выработка и реализация стратегии обучения пользователей.
Удобство эксплуатации (эргономика)
- Сбор, анализ и приоритезация требований пользователей (user requirements).
- Анализ и обсуждение дизайна продукта.
- Разработка сценариев и примеров использования (usage scenarios and use cases).
- Представление интересов потребителя в проектной группе.
Графический дизайн
Дизайн пользовательского интерфейса.
Ролевой кластер "Управление выпуском".
Цель этого ролевого кластера – беспрепятственное внедрение и сопровождение продукта. Эта роль служит связующим звеном между проектной группой и группами процессов сопровождения. Данный ролевой кластер включает в себя следующие области компетенции:
- Инфраструктура (infrastructure)
- Сопровождение (support)
- Бизнес-процессы (operations)
- Управление выпуском готового продукта (commercial release management).
"Управление выпуском":
- выполняет посреднические функции между группами разработки и сопровождения;
- выбирает инструментарий внедрения и способствует его автоматизации и оптимизации;
- устанавливает операционные критерии готовности продукта к выпуску;
- участвует в разработке дизайна, отвечая за управляемость (manageability), удобство сопровождения (supportability) и удобство внедрения (deployability) конечного продукта;
- организует обучение персонала сопровождения;
- подготавливает и создает систему сопровождения опытного внедрения (pilot deployment);
- планирует и обеспечивает поточный выпуск продукта (deployment into production);
- контролирует соответствие результатов стабилизации продукта критериям приемлемости.
Инфраструктура
- Планирование инфраструктуры предприятия.
- Координация использования помещений и кросс-географическое планирование (центры данных, лаборатории, филиалы и периферийные офисы).
- Разработка правил и инструкций для согласованного управления инфраструктурой.
- Обеспечение инфраструктурного обслуживания проектной группы (серверы, стандартные образы дисков для рабочих станций, установка программного обеспечения).
- Организация снабжения проектной группы аппаратным и программным обеспечением.
- Создание тестовых и испытательных сред (test and staging environments), воспроизводящих рабочую среду (production environment).
Сопровождение
- Обеспечение связи и обслуживания заказчиков и потребителей.
- Управление соглашениями об уровне услуг (SLA – service level agreement) и обеспечение их надлежащего исполнения.
- Организация оперативного разрешения пользовательских проблем и нештатных ситуаций.
- Предоставление команде разработчиков обратной связи.
- Разработка процедур действия в нештатных ситуациях.
Бизнес-процессы
- Управление учетными записями.
- Поддержка средств обмена сообщениями, баз данных, телекоммуникаций и сетей.
- Системное администрирование.
- Управление брандмауэром (firewall); администрирование системы безопасности.
- Обслуживание приложений.
- Интеграция серверов.
- Поддержка служб каталогов.
Управление выпуском готового продукта
- Регистрационные коды продукта; процесс верификации регистрации.
- Управление лицензиями.
- Подготовка дистрибутивных комплектов.
- Управление каналами дистрибуции продукта.
- Печатные и электронные публикации.