Обновление трудовых ресурсов

Очень важный момент - подбор персонала, определяемый кругом задач отдела. Обязательно привлечение профессионалов: IT-инженеров, программистов, компьютерных дизайнеров, кодировщиков, системных архитекторов, системных интеграторов, постановщиков задач, системных аналитиков, вебмастеров, технических писателей, и т.п.

Предполагается также использование уже имеющихся кадров при их переподготовке и повышении квалификации.

Далее для разработки операционной системы необходимо определить несколько самых важных целей, в соответствии с которыми и поделить персонал на команды, каждая из которых будет работать сугубо над своей целью. В среднем получиться около 25 команд. Каждая из этих команд занимается конкретной частью операционной системы - кодом, функциями, качеством и общей разработкой. В каждой команде ведется работа над своим элементом ОС, что значительно упрощает руководство - представители разных команд могут встречаться для обсуждения каких-либо функций, вместе сходить в кино и т.д. В команде разработчиков насчитывается в среднем 40 человек, но размеры могут существенно отличаться.

В общем, команды разработчиков выполняют разработку комбинаций архитектурных компонентов и сценариев работы Windows. Понятие "функция" всегда трактовалось неоднозначно, поскольку некоторые считают функций элемент интерфейса, другие же - архитектурный компонент (например, TCP/IP). Задача - сбалансировать сценарии и архитектуру таким образом, чтобы в итоге получился правильный уровень охвата задач за счет правильной комбинации архитектурных элементов. Надо пытаться избежать разделения разработки функций и интерфейса, чтобы команды имели полную власть над тем, над чем они работают (например, команда "Поиск и организация информации" ведет работу как над непосредственным индексатором, так и над пользовательским интерфейсом, используемом при поиске информации). Вот несколько основных команд разработки Windows :

Ø Апплеты и гаджеты (Applets and Gadgets )

Ø Технологии содействия и поддержки (Assistance and Support Technologies)

Ø Core UX (Core User Experience)

Ø Обслуживание пользователя и телеметрия (Customer Engineering and Telemetry)

Ø Платформа развертывания и компонентизации (Deployment and Component Platform)

Ø Графика (Desktop Graphics)

Ø Устройства и носители информации (Devices and Media)

Ø Устройства и хранение информации (Devices and Storage)

Ø Документы и печать (Documents and Printing)

Ø Инжиниринговые системы и инструменты (Engineering System and Tools)

Ø Файловая система (File System)

Ø Поиск и организация информации (Find and Organize)

Ø Фундаментальные компоненты (Fundamentals)

Ø Internet Explorer (включая низкоуровневую поддержку IE 8)

Ø Международная поддержка (International)

Ø Ядро и виртуальные машины (Kernel & VM)

Ø Media Center

Ø Сеть - фундаментальные компоненты (Networking - Core)

Ø Сеть - корпоративное применение (Networking - Enterprise)

Ø Сеть - беспроводные возможности (Networking - Wireless)

Ø Безопасность (Security)

Ø Платформа пользовательского интерфейса (User Interface Platform)

Ø Платформа Windows-приложений (Windows App Platform)

Каждая команда представлена тремя ключевыми инженерными дисциплинами: инженерами по разработке ПО (иначе sde или dev), тестовыми инженерами по разработке ПО (sdet или тестеры) и программными менеджерами (pm). Наличие трех инженерных дисциплин является уникальным аспектом Microsoft, вызывающим интерес многих исследователей.

Dev ответственны за архитектуру и код, pm отвечают за набор функций и спецификацию, а sdet отвечают за проверку, и по сути являются адвокатами пользователей с точки зрения удобства. Каждый ответственен за качество и производительность. Для любой отдельно взятой функции каждый dev, test или pm представляют звенья одной цепи (в буквальном и в переносном смыслах). Это является ключом к "балансу силы", используемому в разработке Windows. Организационно dev-инженеры работают для dev-инженеров, sdet-инженеры - для sdet-инженеров, а pm-менджеры - для pm-менеджеров.

Это позволяет оптимизировать работу по двум направлениями - сфокусироваться на разработке отдельных функций, при этом обеспечив уверенность, что финальный продукт будет гармонично объединять функции, а не просто являться набором отдельных, независимых друг от друга элементов.

В команде также есть ключевые специалисты, которые ведут работу над различными аспектами продукта:

Разработка контента - авторы и редакторы, ведущие онлайн-сопровождение, создающие веб-сайты, документы SDK и документацию по развертыванию.

Перейти на страницу: 1 2