Место веб-разработчика в команде MSF
23.4.3. Разработка приложений
В данные обязанности входит:
- программирование составляющих решения в соответствии с проектной документацией;
- анализ и обсуждение программного кода (code reviews) с целью обмена знаниями и опытом;
- осуществление тестирования модулей (unit testing) в соответствии с планом и в координации с ролевым кластером "Тестирование".
Область компетенции "Разработка приложений" (application development) связана с задачами разработки программных приложений в рамках проекта. Главные цели этой области компетенции – создание составляющих решения в соответствии с проектной документацией, проведение тестирования модулей, исправление дефектов, выявленных в процессе тестирования и осуществление интеграции всех компонент в окончательный продукт.
Разработчики вносят свой вклад в выработку стандартов и досконально следуют им в процессе работы над решением. Они также осуществляют анализ и обсуждение программного кода (code reviews), чтобы оценить качество проделанной работы. Проведение такого анализа позволяет членам проектной группы делиться накопленными знаниями и опытом, воплощая в жизнь фундаментальный принцип MSF – извлечение уроков на уровне команды. От разработчиков требуется проведение надлежащего тестирования модулей (unit testing) и адекватное документирование этого процесса. Такая работа осуществляется в тесной связи с ролевым кластером "Тестирование", который планирует и производит независимую оценку качества решения.
23.4.4. Разработка инфраструктуры
В данные обязанности входит:
- создание составляющих решения в соответствии с проектной документацией;
- анализ и обсуждение программного кода с целью обмена знаниями и опытом;
- осуществление тестирования модулей в соответствии с планом и в координации с ролевым кластером "Тестирование";
- разработка скриптов автоматизации;
- создание внедренческой документации.
Область компетенции "Разработка инфраструктуры" (infrastructure development) связана с задачами разработки системной инфраструктуры и инфраструктуры программного обеспечения, входящего в состав решения. Системная инфраструктура включает в себя сетевую инфраструктуру, клиентские и серверные компьютеры и все сопутствующие компоненты. Инфраструктура программного обеспечения включает в себя операционные системы клиентов и серверов, а также программные продукты, обеспечивающие необходимые сервисы (например, службы каталогов, системы обмена сообщениями, базы данных, интеграция приложений предприятия, администрирование системы, администрирование сети и т.д.).
Команда разработчиков создает инфраструктуру в соответствии с проектной документацией. Это включает в себя настройку технологических средств решения, как например, настройку сети и систем "клиент-сервер". Составляющие инфраструктуры подвержены влиянию требований к приложениям и наоборот. Например, если критическими факторами являются надежность и производительность, может быть необходимым использование кластеризации (clustering) и балансирования загрузки (load balancing) серверов. Операционные системы и системные продукты, в среде которых будет использоваться решение, должны быть соответствующим образом установлены, сконфигурированы и оптимизированы. По окончании проведения необходимого тестирования и стабилизации компоненты инфраструктуры внедряются на широкой основе. Это внедрение осуществляется ролевым кластером "Управление выпуском", который обеспечивает удовлетворение требований к инфраструктуре решения.
23.4.5. Задачи в соответствие с фазами
Рассматрим задачи, которые должен решать член группы "Разработка" на каждой фазе методологии MSF:
-
Фаза выработки концепции
Прототипирование; анализ технологических возможностей; анализ осуществимости.
-
Фаза планирования
Оценка технологий; логический и физический дизайн; план и календарный график разработки; смета разработки (development estimates).
-
Фаза разработки
Разработка программного кода и инфраструктуры; документирование конфигураций.
-
Фаза стабилизации
Устранение ошибок; оптимизация программного кода.
-
Фаза внедрения
Разрешение проблем; поддержка эскалации.
23.4.6. Основные этапы веб-разработки
К основным этапам веб-разработки можно отнести [7]:
- проектирование сайта или веб-приложения (сбор и анализ требований, разработка Технического Задания, проектирование интерфейсов);
- разработка креативной концепции сайта;
- создание дизайн-концепции сайта;
- создание макетов страниц;
- создание мультимедиа и FLASH-элементов;
- верстка шаблонов и страниц;
- программирование (разработка функциональных инструментов) или имплементация на CMS-систему;
- обработка и наполнение информации;
- тестирование и внесение корректировок;
- открытие проекта на публичной площадке;
- обслуживание работающего сайта или его программной основы.
В зависимости от текущей задачи какие-то из этапов могут отсутствовать, либо быть тесно связаны один с другим.
23.5. Ключевые термины
Microsoft Solutions Framework, Модель процессов, Веха, Фаза, Итерация, Билд, MSF for Agile Software Development, Треугольник приоритетов, Матрица компромиссов, Модель проектной группы, Ключевые концепции, Ролевые группы, Роли, Области компетенции, Зоны ответственности.
23.6. Краткие итоги
Microsoft Solutions Framework – хорошо настраиваемый, масштабируемый, полностью интегрируемый набор процессов разработки программного обеспечения, принципов и проверенных практик, предназначенных для того, чтобы предоставить команде разработчиков программного обеспечения именно тот вид управления проектами, который им больше подходит.
Главными принципами MSF можно назвать производительность, интегрируемость и расширяемость.
MSF состоит из двух моделей и трех дисциплин.
Модель процессов MSF представляет общую методологию разработки и внедрения IT решений. Эта модель сочетает в себе свойства двух стандартных производственных моделей: каскадной и спиральной.
Тремя особенностями модели процессов MSF являются:
- Подход, основанный на фазах и вехах.
- Итеративный подход.
- Интегрированный подход к созданию и внедрению решений.
MSF for Agile Software Development поддерживает быструю итеративную разработку.
Все виды ограничений, накладываемые на проект, образуют треугольник приоритетов в MSF.
Треугольник приоритетов является основой для матрицы компромиссов.
Модель проектной группы MSF описывает подход Майкрософт к организации работающего над проектом персонала и его деятельности в целях максимизации успешности проекта.
Успешное использование модели проектной группы MSF основывается на ряде ключевых концепций (key concepts).
MSF for Agile Software Development выделяет 7 ролевых групп и 6 ролей. Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи. Каждая ролевая группа в команде имеет зону ответственности ( advocacy ), в которой роль из этой группы имеет решающий голос.
Веб-разработчик по методологии MSF входит в ролевой кластер "Разработка".
Первостепенной задачей ролевого кластера "Разработка" является построение решения в соответствии со спецификацией.
Участник ролевого кластера "Разработка" имеет следующие обязанности:
- Технологическое консультирование;
- Проектирование и осуществление реализации;
- Разработка приложений;
- Разработка инфраструктуры.