Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Функциональные роли в коллективе разработчиков
Функции, выполняемые разработчиками в проекте подразделяются на организационные и производственные. Первые создают условия для выполнения проектных заданий, вторые непосредственно связаны с этими заданиями. Согласно концепции Microsoft Solution Framework (MSF) выделяются следующие группы функций - так называемые области функциональной специализации (functional area). Определено шесть ролевых кластеров, которые соответствующим образом структурируют проектные функции разработчиков (рис. 2.1). • Управление продуктом (product management). Ключевая цель кластера - обеспечивать удовлетворение интересов заказчика. Для ее достижения кластер должен содержать следующие области компетенции: - планирование продукта; - планирование доходов; - представление интересов заказчика; - маркетинг. • Управление программой (program management). Задача - обеспечить реализацию решения в рамках ограничений проекта, что может рассматриваться как удовлетворение требований к бюджету проекта и к его результату. Области компетенции кластера: - управление проектом; - выработка архитектуры решения; - контроль производственного процесса; - административные службы. • Разработка (development). Первостепенной задачей кластера является построение решения в соответствии со спецификацией. Области компетенции кластера: - технологическое консультирование; - проектирование и осуществление реализации; - разработка приложений; - разработка инфраструктуры. • Тестирование (test). Задача кластера - одобрение выпуска продукта только после того, как все дефекты выявлены и устранены. Области компетенции кластера: - разработка тестов; - отчетность о тестах; - планирование тестов. • Удовлетворение потребителя (user experience). Цель кластера - повышение эффективности использования продукта. Области компетенции кластера: - общедоступность (возможности работы для людей с недостатками зрения, слуха и др.); - интернационализация (эксплуатация в иноязычных средах); - обеспечение технической поддержки; - обучение пользователей; - удобство эксплуатации (эргономика); - графический дизайн. • Управление выпуском (release management). Задача кластера - беспрепятственное внедрение и сопровождение продукта. Области компетенции кластера: - инфраструктура (infrastructure); - сопровождение (support); - бизнес-процессы (operations); - управление выпуском готового продукта (commercial release management). Центр объектно-ориентированной технологии компании IBM предлагает свою ролевую структуру проекта. Эта структура включает достаточно полный перечень типичных ролей, согласованный со многими реальными дисциплинами развития программных проектов. В то же время она представляет роли разработчиков в организационном контексте, т. е. рассматривает не только разработчиков, но и тех, кто, не участвуя в проекте в качестве исполнителей, оказывает влияние на постановку задач проекта, на выделение ресурсов и обеспечение осуществимости развития работ. В представленном перечне характеристика каждой роли, по сути, задает круг родственных организационных и производственных функций, которые объединяются с целью определить роль. •Заказчик (Customer) - реально существующий (в организации, которой подчинена команда, или вне ее) инициатор разработки или кто-либо иной, уполномоченный принимать результаты (как текущие, так и окончательные) разработки. • Планировщик ресурсов (Planner) - выдвигает и координирует требования к проектам в организации, осуществляющей данную разработку, а также развивает и направляет план выполнения проекта с точки зрения организации. • Менеджер проекта (Project Manager) - отвечает за развитие проекта в целом, гарантирует, что распределение заданий и ресурсов позволяет выполнить проект, что работы и предъявление результатов идут по графику, что результаты соответствуют требованиям. В рамках этих функций менеджер проекта взаимодействует с заказчиком и планировщиком ресурсов. • Руководитель команды (Team Leader) - производит техническое руководство командой в процессе выполнения проекта. Для больших проектов возможно привлечение нескольких руководителей подкоманд, отвечающих за решение частных задач. • Архитектор (Architect) - отвечает за проектирование архитектуры системы, согласовывает развитие работ, связанных с проектом. • Проектировщик подсистемы (Designer) - отвечает за проектирование подсистемы или категории классов, определяет реализацию и интерфейсы с другими подсистемами. • Эксперт предметной области (Domain Expert) - отвечает за изучение сферы приложения, поддерживает направленность проекта на решение задач данной области. • Разработчик (Developer) - реализует проектируемые компоненты, владеет и создает специфичные классы и методы, осуществляет кодирование и автономное тестирование, строит продукт. Это широкое понятие, которое может подразделяться на специальные роли (например, разработчик классов). В зависимости от сложности проекта команда может включать различное число разработчиков. • Разработчик информационной поддержки (Information Developer) - создает документацию, сопровождающую продукт, когда выпускается версия. Включаемые в нее инсталляционные материалы, равно как ссылочные и учебные, а также материалы помощи предоставляются на бумажных и машинных носителях. Для сложных проектов возможно распределение этих задач между несколькими разработчиками информационной поддержки. • Специалист по пользовательскому интерфейсу (Human Factors Engineer) - отвечает за удобство применения системы. Работает с заказчиком, чтобы удостовериться, что пользовательский интерфейс удовлетворяет требованиям. • Тестировщик (Tester) - проверяет функциональность, качество и эффективность продукта. Строит и исполняет тесты для каждой фазы развития проекта. • Библиотекарь (Librarian) - отвечает за создание и ведение общей библиотеки проекта, которая содержит все проектные рабочие продукты, а также за соответствие рабочих продуктов стандартам. Первые две позиции в приведенном перечне отведены заказчику и планировщику ресурсов, которые имеют лишь внешнее отношение к разработке проекта, - они не являются членами команды. Заказчик - это лицо, заинтересованное в получении результатов. Планировщик решает задачи распределения финансовых, трудовых и технических ресурсов для разных проектов внутри фирмы. При правильной организации разработки с этими действующими лицами приходится сталкиваться лишь менеджеру проекта. В заключение приведем перечень ключевых ролей, характеризующих наиболее типичные ситуации для программных проектов: • архитектор проекта; • проектировщики подсистем; • руководители команд разработки подсистем; • специалист по пользовательскому интерфейсу; • эксперт предметной области.
Date: 2015-05-18; view: 1145; Нарушение авторских прав |