Share via


Знакомство с группой разработчиков

Я хочу поблагодарить читателей этого блога и подписчиков в Twitter за ценные комментарии и письма. Мне очень приятно видеть повышенный интерес к этой теме. Читая первые комментарии, можно выделить основные тенденции, интересующие читателей. Одной из таких тенденций является взаимодействие с пользователем в ОС Windows 8. Мы готовимся к обсуждению этих вопросов, концепции и оптимальных решений. В ОС Windows 8 добавлены новые компоненты, которые затрагивают все аспекты продукта. Я думаю, что следует поговорить о структуре группы разработчиков, поскольку иногда ответ на вопрос "как" помогает ответить на вопросы "что" и "почему". Это даст вам общее представление об областях ОС Windows 8, в которые добавлены новые компоненты. Кроме того, этот материал можно рассматривать в качестве небольшого руководства.

Некоторые люди склонны представлять ОС Windows в виде единого целого или группы либо ассоциировать ОС Windows с группой определенных людей. Иногда докладчик на конференции или автор блога начинает олицетворяет продукт в ваших глазах. На самом деле ОС Windows — это продукт всей группы разработчиков и большая часть корпорации Майкрософт. Практически все группы разработчиков корпорации Майкрософт так или иначе участвуют в создании ОС Windows 8. В свою очередь, результатами работы над ОС Windows пользуются другие группы разработчиков.

ОС Windows — это большой проект, который состоит из набора небольших согласованных проектов. Когда мы начали создавать ОС Windows 8, у нас было четкое представление о направлении движения, поэтому мы построили структуру групп разработчиков, которая способна обеспечивать это направление. Большинство групп работают совместно, но в то же время мы пытаемся разделить задачи между независимыми группами. Очевидно, что, как клиент, вы хотите, чтобы над продуктом совместно работали все сотрудники компании, но, как инженер, вы также хотите иметь возможность работать независимо. Это тонкий баланс, который мы пытаемся поддерживать.

Для организации бесперебойной работы над ОС Windows потребовалось затратить много сил на построение структуры групп разработчиков. Один из наиболее важных шагов заключается в определении круга задач, которые необходимо решить для достижения поставленной цели. Это также позволяет убедиться в правильности выбранных групп разработчиков и проверить работоспособность всей структуры. В то же время нам необходимо убедиться в том, что все технологические процессы, такие как ежедневная сборка, интеграция, обеспечение качества, безопасность и все основные концепции, представляют собой единое целое с самого начала процесса разработки (на эти темы можно говорить бесконечно).

У нас есть несколько инженерных ролей или дисциплин, которые формируют основу группы разработчиков. Реализация работы над ОС Windows происходит тогда, когда разработчики создают код. Этот код реализует компоненты, которые сначала определяются в спецификациях, создаваемых группой сопровождения программного продукта, а также концепциях взаимодействия, которые создаются дизайнерами продукта. Инженеры-испытатели отвечают за полноту спецификации и соответствие кода поставленной задаче. Это упрощенное представление отношений между ролями, поскольку постоянно происходит обмен обязанностями. В группе разработчиков существует несколько других не менее важных ролей, но мы склонны представлять работу над созданием продукта, например разработку, тестирование и управление программным продуктом, как общее дело на протяжении всего цикла работы над выпуском. Иными словами, каждая роль вносит равный вклад в конечный результат.

Работа над ОС Windows разделена между "специализированными группами", т. е. группами разработчиков, которые имеют доступ к сочетанию архитектурных элементов и сценариев ОС Windows. В работе над ОС Windows 8 принимают участие 35 специализированных групп. Каждая специализированная группа состоит примерно из 25-40 разработчиков, а также сотрудников, отвечающих за тестирование и управление программным продуктом. Наши группы разработчиков ориентированы на создание глобального продукта, поэтому некоторые из них находятся за пределами США по всему миру.

Как правило, специализированная группа создает то, что большинство людей будет определять как область или компонент ОС Windows. Компонент — это сложное понятие. Некоторые люди считают, что компонент — это большой архитектурный компонент, например пользовательский интерфейс или подключение к сети, а другие люди подразумевают под компонентом нечто более конкретное, например меню "Пуск" или IPv6. Это понятие немного перегружено. При создании различных специализированных групп мы связали архитектуру (код, подсистемы, компоненты) со сценариями (взаимодействие с пользователем), в которых пользователи используют элементы архитектуры, чтобы контролировать число сотрудников в группах и обеспечивать управляемость группами. Мы давным-давно перестали пытаться считать новые компоненты, поскольку достаточно трудно определить, что же является компонентом. Мы считаем число рабочих элементов, которые соответствуют единице работы, и число создаваемых спецификаций (это довольно длинный список).

Когда люди берутся за расчеты и пытаются представить число разработчиков в группе, мы обычно слышим одну из двух реакций: "Ничего себе! Как при помощи такого большого количества людей можно вообще что-то создать?" или "Ничего себе! Вы создаете продукт для миллиардов людей силами весьма небольшого числа людей". Минимальное число людей в группе является нашим преимуществом, но в то же время привлечение большого числа разработчиков позволяет добавить все компоненты, которые требуются пользователям. Таким образом, мы ищем "золотую середину". Мы хотим, чтобы группа разработчиков была управляемой и могла создавать высококачественный и полнофункциональный код.

Я уже упоминал ранее, что код ОС Windows используется в других продуктах и наоборот, поэтому при знакомстве со списком учитывайте компоненты из других групп (например, код для поддержки языка веб-браузера создан группой разработчиков средств). Некоторые компоненты, перечисленные здесь, также присутствуют в других продуктах. Например, все версии ядер, сеть, хранилище, виртуализация и другие фундаментальные компоненты операционной системы также входят в состав Windows Server. Иными словами, одна группа создает весь код для клиентской версии ОС Windows и большую часть кода ОС Windows Server. Некоторые компоненты встроены в ядро ОС, но в конечном счете это всего лишь часть серверных продуктов.

Большинство групп, перечисленных ниже, описывают компоненты или области, с которыми вы уже знакомы или которые можно представить исходя из названия. Как будет показано позже, участники группы будут идентифицировать себя как часть этих групп. Кроме того, из этих групп мы создали семь больших групп, которые двигают смежные группы вперед: основные компоненты, устройства и сети, ядро операционной системы, опыт разработчиков, взаимодействие с пользователем, веб-службы и инженерные системы. Группа Windows Live (Hotmail, Messenger, Skydrive, Фотографии, LiveID и т. д.) имеет аналогичную структуру. Группа Internet Explorer состоит из 2 самостоятельных групп, однако они также связаны с ОС Windows 8.

  • Совместимость приложений и устройств
  • Хранилище приложений
  • Взаимодействие с приложениями и мультимедиа
  • Взаимодействие с приложением
  • Развитие основного взаимодействия
  • Возможности подключения устройств
  • Взаимодействие с устройствами и сетью
  • Основы экосистемы
  • Рабочий стол инженера
  • Техническая система
  • Корпоративные сети
  • Глобальное взаимодействие
  • Графические платформы
  • Взаимодействие с разработчиками оборудования
  • Платформа взаимодействия с человеком
  • Технология Hyper-V
  • Управление компьютером
  • Платформа ядра
  • Лицензирование и развертывание
  • Платформа мультимедиа
  • Ядро сети
  • Производительность
  • Представление и состав
  • Надежность, безопасность и конфиденциальность
  • Взаимодействие со средой выполнения
  • Поиск, просмотр и управление
  • Безопасность и идентификация
  • Хранилище и файловые системы
  • Устойчивая инженерия
  • Телеметрия
  • Взаимодействие, ориентированное на пользователя
  • Справка по Windows в Интернете
  • Центр обновления Windows
  • Беспроводные и сетевые службы
  • Язык XAML

Помимо этих групп, осуществляющих разработку, тестирование и управление программным продуктом, существует множество других групп, которые являются частью группы разработчиков продукта. Группа разработчиков контента создает и редактирует встроенную справку, контент для веб-сайтов, документы для разработчиков, пакеты SDK и т. п. Группа планирования продукта проводит маркетинговые исследования, а также работает с отзывами и данными телеметрии по предварительной версии программного обеспечения. Группа дизайнеров продукта разрабатывает общую модель взаимодействия, графический язык и язык проектирования для ОС Windows 8. Группа оценки удобства работы с программным продуктом проводит лабораторные и экспериментальные исследования, которые показывают, как существующие продукты и предлагаемые компоненты отвечают потребностям разных групп клиентов. Группа локализации занимается переводом интерфейса Windows на 100 языков, а также локализует этот блог. Наша операционная группа запускает службы, которые используют сотни миллионов людей и миллиард компьютеров. Мы назвали только малую часть из них...

Когда мы начинали работать над ОС Windows 7, некоторые люди говорили нам, что группа разработчиков Windows стала слишком большой и достигла таких размеров, что больше создавала технических проблем, чем решала их. В то же время вы можете просмотреть все комментарии и увидеть невероятный спрос на новые компоненты в широком диапазоне сценариев.

Люди хотят получить новые возможности и изменить существующие. Им требуются компоненты высокого качества, которые доступны по всему миру, способны работать на существующем оборудовании и используют преимущества, предоставляемые последними версиями оборудования. Наша работа заключается в получении как можно большего в максимально сжатые сроки и с учетом значительного масштаба. Все это подразумевает значительные инженерные затраты.

Для людей, которые ведут подсчет слов: я написал около 1 500 слов, так что это можно назвать знакомством с группой разработчиков. Следите за комментариями, поскольку они помогают нам отобрать идеи для новых статей и форм диалога. Я надеюсь, что эта статья поможет развить общий контекст с точки зрения разговоров об ОС Windows 8.

--Стивен

Comments

  • Anonymous
    August 22, 2011
    The comment has been removed

  • Anonymous
    August 22, 2011
    Еще пару моментов:Кастаельно Win Phone (не знаю кто им занимается) Но было бы замечателнь больше продумать юзабилити. Каие новшества будут в Win CE, Embedded.

  • Anonymous
    August 23, 2011
    Когда-то давно у Стива Джобса спросили его отношение к Майкрософт, и он ответил что Майкрософту не хватает вкуса, что Майкрософт не несет в свой продукт культуру.К моему сожалению при выходе прежних версий ОС подобные блоги не попадались мне в интернете, или может я в то время не сильно об этом задумывался. У меня на компьютере, или на компьютерах на работе, стояли ОС Windows 95982000MeXp все было просто: имелся компьютер и были определенные задачи, которые решались при помощи операционной системы. Компьютеры тогда были не сказать чтобы быстрыми, по сравнению с современными, и не искушенный человек, кем я и был в то время принимал все как есть. Времена изменились.Теперь компьютер стал больше чем рабочей машиной, развлечения, мобильные решения, развитие интернета и мультимедиа контента превратили компьютер в спутника жизни любого современного человека, а общение с этим спутником человек начинает с Операционной Системы. А чего хочет современный  пользователь компьютера, - он хочет чтобы общение с компьютером было не только продуктивно, не только быстро но и доставляло ему удовольствие. Пользовательский интерфеис, функционал и бренд должен удовлетворять требования разных слоев пользователей. Условно ы разделяю всех пользователей на три категории: Новички - это люди которые хотят чтобы компьютер просто работал, и предоставлял определенный базовый минимум по одному щелчку, без объяснений как он это сделал, без богатого выбора методов  - просто и качественно; есть Профессионалы - это небольшая часть пользователей, которые выжимают из Операционной системы весь максимум, и знают чего они хотят в каждый конкретный промежуток времени пользования ПК, при этом им иногда без разницы как будет выглядеть графическая оболочка, главное чтобы все работало, так как хочет пользователь, и максимально быстро; и есть еще все остальные, не новички, но и не профессионалы.Последней группе важен графический интерфеис, важна производительность, важна простота и сложность когда это надо, они ищут не просто работы операционной системы, но стиль жизни, моду и хотят чтобы их спутник - ПК, стал им надежным помощником. Это самая предвзятая группа пользователей, самая изменчивая и самая интересная.Первую и вторую группы до последнего времени полностью устраивали ОС Windows, многие из новичков, познакомившись с Хр продолжают ей пользоваться несмотря ни на что - в основном из-за ее простоты. (мне кажется что в Хр самый интуитивно понятный интерфейс из всех представленных ОС). Про профессионалов я мало что могу сказать так как не относился никогда  к этой группе, но думаю что есть огромная часть тех из них, кому нравятся продукты Microsoft несмотря ни на что, которые работают с ней и делают свою работу хорошо. С третьей и самой широкой группой возникают, как мне кажется, сложности из-за недостатка в продуктах Microsoft - культа, моды и своего рода - lifestyle (о которых и говорил Стив Джобс очень-очень давно, когда Apple еще не стала таким гигантом. Возможно он намекал но его намеки остались проигнорированными и поэтому он взялся все делать сам). При современных мощностях компьютеров, при росте производительности ПК каждые пол года-год, решающим становится не эффективность работы (она уже доведена до удовлетворительного уровня и требует лишь мелких косметических преобразований), но удобство и чувство удовлетворения тем продуктом которым ты пользуешься. (Про удобство - к примеру в Windows Xp была функция добавления панелей быстрого доступа помимо панели Пуск, на которые можно было назначить - Мой компьютер или любую папку, выставить автоматическое скрытие и расставить подобные панели слева, справа, сверху и даже снизу. В 7 версии такого не стало - зачем ограничивать возможности пользователя в новой ОС, если новое предполагает - лучше!)

  • Anonymous
    August 23, 2011
    Пошли слухи о том что 8 версия операционной системы от Microsoft перестанет носить название Windows - и я очень хочу, чтобы создатели Microsoft OS 8 позаботились о некоторых аспектах своей операционной системы, выходящих за рамки чисто деловых и числовых показателей и обратили свое внимание на интуитивность интерфеиса, на широкие возможности кастомизации, на безопасность (к примеру встроить антивирус в ОС без необходимости скачивания), создать несклько враиантов графического интерфеиса например: для любителей стекла и лоска, для любителей векторных решений и для фанатов 3D интерфеисов. Мерчандайзинг - изменить и направить часть материальных средств на стилистику торговой марки, на преобразования новой ОС в новый продукт корпорации Microsoft. Попробовать сделать операционную систему желанной, создать интересные социальные проекты, направленные не просто на распространение продукта, но на продвижение самой идеи новой ОС в массы. В некоторых кругах, среди которых я общаюсь ос Windows сравнивали с МакДональдс, а продукцию Apple с дорогим рестораном. И я заметил что как и МакДональдс предыдущие операционные системы Windows работали на всем что только можно, если туда можно было установить операционную систему (кстати подобный факт не редко подтверждали представители Microsoft), но тем не менее пользователи ОС Windows продолжали с интересом поглядывать на набирающую популярность ОС Х (хотя о превосходстве одной Ос над другой я сам с собой могу спорить очень долго) но факт есть факт. Я как пользователь большого количества продуктов Microsoft обзавелся достаточно прочной броней, чтобы не поддаваться PR программам Apple, можно сказать, что это своего рода патриотизм, но и он потихоньку стал рушиться под напором качественного маркетинга Стива Джобса.Поэтому, в этом обращении я хочу сказать разработчикам новой ОС, совету директоров Microsoft и всем кто участвует в продвижении продукта Microsoft  OS 8, что времена Windows 95-98-Xp давно прошли, и просто работающая на любом железе ОС уже не привлекает,  так как хотелось бы.  Я хочу чтобы пользоваться Microsoft  OS 8 (какое бы название она не носила ) было не просто удобно, но и модно, круто, стильно.PS. А еще подумайте над магазином товаров с символикой Майкрософт, (дешевые стильные аксессуары  - их не хватает), над дресс-кодом, чтобы человека работающего в Microsoft было видно сразу, чтобы пользователи новой Ос отличались между собой по своему желанию но имели одно общее – ОС от Microsoft. И, может, введете новую систему продажи Ос в кредит или с 10 месячными абонентскими взносами, как борьба с пиратством очень продуктивно, так как не покупают ОС например в России легальную именно из-за того что стоимость ОС иногда доходит до половины заработной платы.  Спасибо всем кто прочел все, что я написал. Старался быть честным.

  • Anonymous
    September 17, 2011
    А не подскажите мне как разработчику ПО для настольных систем не удобно на английской версие что либо делать. Не подскажите когда она будет на русском языке???

  • Anonymous
    November 16, 2011
    Подскажите будет ли он на русском языке - и когда.