Apresentando a equipe

Agradeço pelos comentários e as centenas de emails que recebemos (e pelo pessoal que agora está nos seguindo no Twitter também). Sem dúvida, é maravilhoso ver tanto entusiasmo e interesse. Já apareceram questões importantes nos comentários iniciais, algumas das quais se baseiam em impressões sobre a experiência do usuário do Windows 8. Estamos acelerando o ritmo exatamente para discutir sobre essas questões, o design e as compensações. O Windows 8 possui novos recursos em toda a gama de produtos. Como a equipe de criação do Windows 8 é bastante grande, decidimos falar um pouco sobre sua estrutura, porque às vezes, saber "como", pode ajudar as pessoas a entender sobre "o que" e "por quê". Assim, você terá um resumo dos locais em que adicionamos recursos no Windows 8. Isso também servirá de referência para a nossa conversa sobre o produto.

É tentador pensar sobre o Windows como uma única entidade ou grupo ou, para alguns, como apenas um determinado grupo de pessoas. Às vezes, em uma conferência ou um blog, alguém acaba representando o produto por você. Na verdade, o Windows é sempre um produto da equipe como um todo e, acima disso, da Microsoft. Quase todo o grupo de desenvolvimento contribuiu para criar o Windows 8 de alguma forma. E o Windows também conta com esforços de vários outros grupos.

O Windows é um projeto bastante grande composto por um conjunto de projetos menores coordenados. Quando começamos a criar o Windows 8, tínhamos uma clara ideia do caminho que iríamos seguir, por isso, criamos uma estrutura de equipes capaz de nos acompanhar. Muitas equipes trabalham juntas e, ao mesmo tempo, tentam dividir o trabalho em grupos bastante independentes (obviamente, como cliente, você quer que tudo funcione em perfeita harmonia, mas, como engenheiro, você também quer poder trabalhar com independência). É um difícil equilíbrio que procuramos manter.

Investimos muito para criar uma estrutura de equipes que desse conta de todo o trabalho do Windows. No início, o mais importante foi decidir "o que" pretendíamos que fosse feito, para poder formar a melhor equipe e estrutura para realizar esse trabalho. Ao mesmo tempo, precisávamos garantir que todos os processos de engenharia, como compilações diárias, integração, qualidade, segurança e tudo que era essencial, estivessem completos desde o princípio (temos muito para falar sobre esses tópicos!).

Há várias funções, ou disciplinas, de engenharia que compõem a nossa equipe. O trabalho de implementação no Windows acontece quando os desenvolvedores escrevem código. Esse código implementa recursos que vêm com especificações escritas pela equipe de gerenciamento de programas junto com designs de interação de nossos designers de produtos. Os testadores são responsáveis por verificar se as especificações foram concluídas e o código faz o que elas dizem para fazer. Essa é uma visão simplificada da relação entre as funções, já que normalmente todos fazem um pouco de tudo. Há várias outras funções igualmente importantes na equipe, mas preferimos encarar nossa iniciativa de engenharia como um trabalho conjunto de gerenciamento de desenvolvimento, testes e programas que se dá de forma coordenada durante todo o processo de lançamento; cada função tem seu próprio valor no resultado final e nas decisões que tomamos.

Organizamos o trabalho do Windows em "equipes de recursos", grupos de desenvolvedores que criam uma combinação de cenários e elementos arquiteturais do Windows. Há aproximadamente 35 equipes de recursos na organização do Windows 8. Cada uma delas contém de 25 a 40 desenvolvedores, além do pessoal de gerenciamento de testes e programas, todos trabalhando juntos. Nossas equipes estão todas empenhadas em criar um produto global e, por isso, algumas estão localizadas fora dos Estados Unidos e também trabalham globalmente.

Em geral, uma equipe de recursos cria e compila o que se costuma identificar como uma área ou um componente do Windows. "Recurso" é uma palavra complicada. Alguns pensam que é um componente arquitetural como a "interface do usuário" ou o sistema em rede e outros podem achar que se trata de algo mais específico, como o "menu iniciar" ou IPv6. Por isso o termo está um pouco desgastado. Quando formamos diferentes equipes de recursos, combinamos a arquitetura (código, subsistemas, componentes) aos cenários (experiência do usuário) no quais os usuários a encontrarão, além de nos esforçar para manter nossas equipes pequenas e gerenciáveis. Há muito tempo, deixamos de tentar contar os novos recursos por causa da dificuldade em definir um. Não contamos itens de trabalho, embora eles sejam mapeados no trabalho e nas especificações que criamos (é uma lista muito longa).

Quando alguém faz a conta e apresenta um número de desenvolvedores na equipe, normalmente as reações são: "nossa, é muita gente, não vai dar certo" ou "nossa, é muito pouca gente para um produto de um bilhão de usuários". Para nós, é bom ter o menor número de pessoas possível na equipe, mas, para você, o melhor é que um grande número de pessoas acrescente tudo o que os usuários possam querer. Por isso, encontramos um denominador comum. Queremos que a equipe seja gerenciável e capaz de produzir um código repleto de recursos de alta qualidade.

Mencionei anteriormente que o Windows contribui com código para vários outros produtos e vice-versa, portanto, quando você examinar esta lista, lembre-se de que os recursos de outros grupos (por exemplo, o tempo de execução de linguagem do navegador vem do grupo de ferramentas de desenvolvimento) e parte do trabalho que fazemos vai para outros produtos também. Por exemplo, todo o trabalho de kernel, rede, armazenamento, virtualização e outros elementos fundamentais do sistema operacional também fará parte do Windows Server. É isso mesmo, uma equipe fornece o sistema operacional cliente do Windows completo e boa parte da base para o sistema operacional Windows Server. Alguns recursos também são criados no sistema operacional principal, mas, no fim, só fazem parte do produto Server.

Muitas das equipes citadas a seguir descrevem recursos ou áreas que você já conhece ou provavelmente descobrirá pelo nome. Conforme postarmos mais, os membros das equipes se identificarão como parte delas. Também organizamos essas equipes em sete grupos maiores que reúnem as equipes relacionadas: básico, dispositivos e rede, sistema operacional principal, experiência do desenvolvedor, experiência do usuário, serviços Web e outros sistemas de engenharia. O grupo do Windows Live (Hotmail, Messenger, Skydrive, Fotos, LiveID e outros) também possui uma estrutura semelhante. Da mesma forma, o grupo do Internet Explorer tem algumas equipes próprias, mas obviamente contribui para todo o Windows 8.

  • Compatibilidade de aplicativos e compatibilidade de dispositivos
  • Loja de aplicativos
  • Aplicativos e experiência de mídia
  • Experiência de aplicativos
  • Evolução da experiência geral
  • Conectividade de dispositivos
  • Experiência de dispositivos e rede
  • Base do ecossistema
  • Área de trabalho do engenheiro
  • Sistema de engenharia
  • Rede empresarial
  • Experiência global
  • Plataforma gráfica
  • Experiência do desenvolvedor de hardware
  • Plataforma de interação humana
  • Hyper-V
  • No controle do PC
  • Plataforma de kernel
  • Licenciamento e implantação
  • Plataforma de mídia
  • Sistema de rede principal
  • Desempenho
  • Apresentação e composição
  • Confiabilidade, segurança e privacidade
  • Experiência de tempo de execução
  • Pesquisa, exibição e comando
  • Segurança e identidade
  • Armazenamento e sistemas de arquivos
  • Engenharia sustentável
  • Telemetria
  • Experiência centrada no usuário
  • Windows Online
  • Windows Update
  • Serviços de rede e sem fio
  • XAML

Além dessas equipes formadas pelo pessoal de desenvolvimento, teste e gerenciamento de programas, muitas outras também fazem parte da equipe de desenvolvimento de produtos. Nossa equipe de desenvolvimento de conteúdo escreve e edita nossos documentos de ajuda online, sites e implantação, bem como SDKs, só para citar alguns. O planejamento de produtos cuida de clientes e pesquisa de mercado, além de ficar atento aos comentários e à telemetria sobre um software de pré-lançamento. O design de produtos desenvolve o modelo de interação geral, linguagem gráfica e linguagem de design do Windows 8. Nossa equipe de pesquisa e uso cria estudos de campo e de laboratório que mostram a resposta de todo tipo de clientes aos produtos existentes e recursos propostos. A localização traduz o Windows para mais de 100 idiomas (e traduz este blog). Nossa equipe de operações executa os serviços que são usados por centenas de milhões de pessoas e quase um bilhão de PCs. E a lista continua...

Quando começamos o Windows 7, algumas pessoas nos disseram que a equipe do Windows era muito grande e tinha chegado a um ponto que causava mais problemas para a engenharia do que dava soluções. Ao mesmo tempo, se ler todos os comentários, você verá a incrível demanda de novos recursos em uma ampla gama de cenários.

As pessoas querem novidades e alterações no que já existe; elas querem recursos disponíveis globalmente, acessíveis e da melhor qualidade; elas querem que tudo funcione no hardware existente e aproveitar ao máximo o novo hardware. E nós temos de fazer tudo isso, o mais rápido possível, em larga escala. É um trabalho de engenharia de grande porte.

Para as pessoas que estão contando minhas palavras, não passaram de 1.500, então, acho que posso dizer que esta é uma apresentação da equipe. Continuem enviando comentários, pois eles nos dão ideias para as postagens e determinam o tom do nosso diálogo. Espero que esta postagem ajude a desenvolver um contexto compartilhado em nossa conversa sobre o Windows 8.

--Steven