Falando sobre a gestão da qualidade de plataformas massivas

Falando sobre a gestão da qualidade de plataformas massivas

讲师介绍:在互联网电商公司,做质量保障和技术保障10年+,之前在1号店做质量总监和高级技术总监,负责企业信息化平台研发、自动化运维开发、质量保证、工程效率、CI/CD、敏捷开发转型、中间件研发等工作。长期深度参与千人研发团队规模的业务成长、架构演进、敏捷开发转型、工程效能建设、过程改进与度量、软件测试等从0到1、从1到N的多年变革过程和创新实践。担任过多年公司周年庆、双11等大促活动的技术保障总负责人和总指挥。

Falando sobre a gestão da qualidade de plataformas massivas

O tópico de hoje não pode ser separado de DevOps e agilidade. Da perspectiva da qualidade, vamos dar uma olhada em como a qualidade é feita no ecossistema DevOps. Por causa das limitações de tempo, compartilharei meus pensamentos e casos reais de uma perspectiva abrangente.

Falando sobre a gestão da qualidade de plataformas massivas

1. Compreenda a qualidade

Primeiro, veja o que é qualidade. Reveja os acidentes de qualidade na história.

  • O primeiro acidente foi com um satélite japonês, que perdeu 1,8 bilhão devido a uma linha de código incorreta.

  • O segundo é meu exemplo anterior. Temos um desenvolvimento. Precisamos mudar a configuração às duas ou três da manhã e ajustar o despertador, mas o despertador não toca. A empresa perdeu um pedido de 20.000 yuans.

  • O terceiro também é uma certa equipe nossa na história. Dessa vez, ficou online sem alterar nenhum código. Como resultado, o pedido caiu alguns pontos e a empresa perdeu um pedido de 40.000 yuan.

Exceto para o primeiro exemplo, os outros exemplos parecem não ter nada a ver com o código, e esses são incidentes de qualidade.O que exatamente é qualidade? É uma questão do departamento de qualidade?

Falando sobre a gestão da qualidade de plataformas massivas

Além de funcionar, quais recursos existem nos recursos de qualidade? (Interação ao vivo)

Esses aspectos são frequentemente usados ​​no desenvolvimento de software, ou seja, função, desempenho, segurança, facilidade de uso e confiabilidade. No departamento de P&D, o foco de cada função é diferente. Os engenheiros de P&D dão mais atenção às funções e ao desempenho, o departamento de segurança dá mais atenção à segurança e o departamento de operação e manutenção dá mais atenção à confiabilidade e ao desempenho, cada um com seu próprio foco.

O engenheiro de qualidade é uma função que pode prestar atenção total a todos os aspectos da qualidade do produto e também é uma função que promove outras funções para prestar atenção à qualidade de uma maneira geral.

Nos últimos três anos, fiz mais para controlar de forma abrangente os riscos técnicos em termos de negócios, desenvolvimento, arquitetura, operação e manutenção e segurança. O controle de risco técnico é responsável pelo negócio da empresa, não só se não houver nenhum problema com a função, está tudo bem. Tenho um resumo mais abrangente em um compartilhamento de garantias técnicas de promoção de e-commerce em 2015. Aqui, falarei principalmente sobre o trabalho de controle relacionado à qualidade hoje.

Então, quais aspectos estão envolvidos na gestão da qualidade? Não discutiremos isso a partir da teoria acadêmica por enquanto. Com base na minha experiência em gerenciamento de qualidade da Internet nos últimos dez anos, concluí que o gerenciamento de qualidade de aplicativos de Internet envolve principalmente gerenciamento de versões, gerenciamento de mudanças, gerenciamento de riscos, gerenciamento de defeitos, Esses aspectos do gerenciamento de configuração. No panorama da garantia de qualidade a ser discutido posteriormente, você também pode ver meu ponto de vista.

Falando sobre a gestão da qualidade de plataformas massivas

2. Pensamento, desafios, tendências


Vamos dar uma olhada nos desafios que a qualidade do sistema da Internet enfrenta.

Primeiro, da perspectiva do sistema, é um teste de acesso massivo aos negócios.

Para o negócio principal, é desnecessário dizer que, uma vez que um erro ocorra, mesmo que por alguns minutos, pode ser uma perda de capital direta de vários milhões a cada vez. Ao mesmo tempo, empresas que não parecem estar no caminho principal, como alguns módulos que podem refletir suas próprias características e diferenças na experiência do usuário, aumentar a aderência do usuário ou aqueles que podem impulsionar a conversão e o crescimento do principal o negócio.

Esses módulos de negócios têm erros. Olhando para todo o mercado de negócios da empresa, há apenas uma taxa de erro de 1%. Na verdade, isso afeta dezenas de milhares a centenas de milhares de DAUs. Se você adicionar a amplificação do fator de pico, o número de usuários será muito grande.

Eu chamo isso de pontos de garantia de negócios de cauda longa. Portanto, seja o negócio principal ou o negócio de cauda longa, isso afeta o desempenho de uma determinada parte dos negócios e produtos da empresa.

Para a equipe de P&D, especialmente a equipe de qualidade, a probabilidade de 1% não pode ser ignorada, pois é aqui que os tradicionais “Vinte e Oito Princípios” não podem nos orientar. Essa é a pressão e o desafio trazidos pelos serviços de massa para a garantia da qualidade. Essa também é a tendência inevitável da indústria de desenvolvimento de software no futuro.

Falando sobre a gestão da qualidade de plataformas massivas

Em segundo lugar, de uma perspectiva de negócios. No ano passado, a JD.com propôs a estratégia "*** varejo" .O novo modelo de negócios também é um novo desafio para a equipe de P&D.

  • Em primeiro lugar, suas necessidades de negócios vêm de uma variedade de usuários, incluindo empresas internas, comerciantes externos e clientes online ...

  • Em segundo lugar, sob o enorme volume, o negócio continuará a crescer rapidamente;

  • Terceiro, em termos de complexidade técnica, o terminal que transporta serviços não é apenas o APP principal, mas também WeChat, QQ, mini programas e outros produtos APP estendidos. O surgimento da Internet das Coisas inteligente permitiu que produtos de software fossem desenvolvidos a partir do terminal de telefonia móvel para outros terminais, como geladeiras, alto-falantes, TVs e assim por diante.

  • Ao mesmo tempo, em termos de eficiência de engenharia, requisitos mais elevados são apresentados para uma implementação ágil: a resposta e a entrega do negócio devem ser rápidas, enquanto a qualidade e a experiência devem ser garantidas.

  • Além disso, a escala de pesquisa e desenvolvimento de milhares de pessoas significa que há um grande número de departamentos trabalhando juntos, de modo que os requisitos para eficiência colaborativa também são altos.

    Como você pode ver, existem muitos conflitos aqui. Às vezes, para se atualizar e ficar online, você precisa sacrificar um pouco a qualidade e, às vezes, há problemas de eficiência na comunicação entre departamentos e o ciclo de programação é muito apertado. Então isso é uma coisa muito difícil.

Falando sobre a gestão da qualidade de plataformas massivas

Terceiro, o desafio da transformação ágil.

Este é o desafio que experimentei pessoalmente quando estava fazendo uma transformação ágil em 2013. Como mencionado acima, os negócios da empresa estão crescendo rapidamente, a equipe de P&D está perto de mil pessoas, a complexidade da tecnologia do sistema está aumentando e a eficiência da colaboração entre equipes está enfrentando desafios ... Portanto, para melhorar os recursos de entrega, você não pode expandir a escala indefinidamente. Resolva o problema da melhoria da eficiência.

No processo de transformação do teste ágil, os meios técnicos e a divisão de funções estão mudando, portanto, o número de pessoas também está mudando.

A figura abaixo mostra as mudanças no pessoal da equipe de teste ágil Os números na foto podem ser tristes para a equipe de teste. É claro que o chefe gosta mais desse número porque os custos de mão de obra da empresa estão diminuindo ou o negócio está crescendo, mas os custos de mão de obra são controlados de maneira eficaz.

Portanto, do ponto de vista geral, precisamos perceber que isso é uma tendência, e também é a meta correta de reforma ágil e eficiência de construção.

Falando sobre a gestão da qualidade de plataformas massivas

3. Construir um sistema de qualidade de plataforma em massa

Falando sobre a gestão da qualidade de plataformas massivas

3.1 Como construir um sistema de garantia

Diante de tais desafios, como construir um sistema de garantia de qualidade?

  1. Em primeiro lugar, desde a gestão, no desenho da estrutura organizacional, deve haver mudanças e ajustes. Este é o formulário exigido pela estrutura da organização de gerenciamento de qualidade, incluindo o grupo de teste de negócios, o grupo de suporte de aceitação, o grupo de plataforma de estrutura, o grupo de gerenciamento de configuração, o grupo de auditoria de processo, o grupo de planejamento de processo e o grupo de risco técnico. Todos estão envolvidos nas equipes que eu trouxe antes. Dependendo da situação e do estágio do departamento de P&D, as figuras listadas na figura podem ser personagens virtuais ou uma organização física.

  2. Se o negócio correspondente de P&D envolve múltiplas plataformas, neste momento, uma equipe de teste pode ter como alvo apenas uma determinada plataforma vertical, que requer o suporte de uma equipe horizontal diferente da vertical. Este é o objetivo do grupo de suporte de aceitação de design.

  3. A auditoria de processo é auditar o processo de P&D. O planejamento de processo é planejar a plataforma de gerenciamento e a melhoria do processo. O grupo de risco está ausente em muitas equipes. Os requisitos para essa equipe são relativamente altos e exigem recursos abrangentes.

  4. Os outros grupos são mais fáceis de entender literalmente, então não direi mais.

Falando sobre a gestão da qualidade de plataformas massivas

3.2 Sistema de Garantia de Qualidade JD

Para a recepção do Shopping Jingdong, a linha de produtos envolvida é muito rica, e mencionei isso quando falei sobre desafios. Os objetos testados que carregam o negócio estendem-se de APP, dongdong, applet, etc. Este diagrama esquemático descreve esta situação complicada. O que está incluído na garantia de qualidade neste momento?

Aqui, tento resumir e resumir um conjunto de sistemas adequados para a referência da indústria de testes da Internet.

A imagem a seguir é uma imagem panorâmica do sistema de garantia de qualidade que eu pensei e resolvi. Deixe-me falar um pouco sobre isso.

Existem dois aspectos: o esquerdo é baseado na tecnologia, o direito é baseado na gestão e os dois lados são complementares. No canto superior esquerdo está a estratégia de teste. Cada empresa formulará sua própria estratégia de teste com base em sua própria experiência, lições e características de negócios. O modelo de estratégia que resumi aqui espera ser uma referência para meus colegas.

Começando com o teste da caixa branca, para o teste especial de função do aplicativo, desempenho, API e microsserviços, experiência do usuário e personalização. Esta é a tarefa central e principal da equipe de teste. Essas definições podem resolver a questão de saber se a estratégia está completa. Então, se pode ser implementado e se pode ser implementado com eficácia, é o problema que a plataforma de qualidade e o gerenciamento de processos do lado direito precisam ajudar a resolver.

A plataforma de qualidade inclui uma plataforma de gerenciamento de qualidade, uma plataforma de execução de teste e uma plataforma de monitoramento de teste. Existe uma pequena diferença entre monitoramento e operação e manutenção, uma parte é para o código e a outra é para o monitoramento da qualidade do serviço. O gerenciamento e a melhoria de processos incluem especificações de padrões de processos, gerenciamento de problemas de incidentes, medição e melhoria de processos, gerenciamento de exercícios, auditoria de conformidade e implementação de abordagem ágil. O gerenciamento quantitativo inclui modelo de avaliação de capacidade, modelo de medição ágil, modelo de medição de produto de plataforma e plataforma de medição de qualidade.

Produtos de plataforma são que temos um grande número de plataformas, como medimos a qualidade desses produtos? Isso também deve ser considerado, é um conjunto de produtos que dá suporte a todo o processo de P&D.

Falando sobre a gestão da qualidade de plataformas massivas

3.3 Construção das "Quatro Modernizações" de JD

Meu resumo de construção de eficiência de engenharia é: construção de "Quatro Modernizações", ou seja, padronização, automação, blocos de construção e inteligência.

Falando sobre a gestão da qualidade de plataformas massivas

3.3.1 Construção de padronização

A construção de padronização inclui sistemas, aplicativos, configurações, pessoas, funções, bem como organização, equipe e desempenho. O estabelecimento da maioria dos padrões e normas é liderado por uma organização de definição de processos, como uma equipe de QA. O mais difícil é organizar a equipe e o desempenho, o que só se resolve com eficácia trabalhando a partir do nível de decisão da gestão de P&D e exige inovação na gestão.

Deixe-me dar o exemplo de Yihaodian. No trabalho diário, geralmente envolve a inscrição de um aplicativo para ficar online, expandir sua capacidade ou solicitar acesso à biblioteca de códigos, etc. Esses links precisam ser revisados ​​e aprovados. Quando estamos trabalhando em plataformas como plataformas de liberação de operação e manutenção, plataformas de gerenciamento de base de código, etc., quem deve aprovar esses links de auditoria, o que envolve a questão da estrutura organizacional.

No mesmo departamento, dezenas de pessoas ou mesmo centenas de pessoas, algumas estão em Pequim, outras em Xangai, e o chefe do departamento é a mesma pessoa. A estrutura organizacional do pessoal é relativamente plana e existem apenas departamentos de três níveis no máximo, e não há 4. Departamento de nível.

Não há necessidade de envolvê-lo nessas questões de aprovação e confirmação, apenas a confirmação do líder de uma equipe em Xangai ou Pequim. Ou, às vezes, é um projeto entre equipes que envolve várias linhas de negócios e o ciclo do projeto não é curto e vários departamentos transferem pessoal para concluí-lo juntos.

Neste projeto, há uma pessoa responsável. Em termos de relações administrativas, ele pode ser apenas o superior de uma determinada parte do projeto, e outras pessoas no projeto não pertencem à equipe sob sua jurisdição, e a revisão e aprovação relevantes deste projeto precisam que o líder seja responsável.

Portanto, não há como resolver o problema da cadeia de aprovação por meio dos dados de pessoal atuais da organização administrativa. O que devo fazer? Na verdade, se você pensar de novo, a situação mencionada acima não é apenas uma questão de aprovação, mas também envolve todos os aspectos de comunicação, colaboração, tomada de decisão e gerenciamento diário da equipe durante todo o processo de P&D.

Portanto, a solução mais completa é encontrar uma solução na estrutura organizacional. Construímos uma nova organização de entidade chamada Domínio. Essa organização depende da estrutura organizacional de pessoal existente para derivar uma nova estrutura de equipe de entidade. O tamanho e a divisão do Domínio são determinados pelo gerente de acordo com certos padrões. Os dados do domínio não são mantidos pelo departamento de pessoal, mas são mantidos e gerenciados por uma equipe do departamento de P&D.

Falando sobre a gestão da qualidade de plataformas massivas

Este exemplo é um exemplo de como promovemos o desacoplamento do sistema no processo de implementação ágil em 2014. Freqüentemente ouvimos que um determinado sistema é confuso e que há muitos problemas, especificamente onde está o problema.Apenas um pequeno número de engenheiros da linha de frente nesta equipe que estão familiarizados com a situação sabem onde está o poço. Mas há muitos aplicativos envolvidos e não é realista exigir que eles gastem muito tempo resolvendo-os.

É quase impossível para uma equipe implementar práticas ágeis, como entrega em 2 semanas e desmontagem de histórias. Eu deixei o gerenciamento de configuração completar a padronização da engenharia de código e compilação e construção. Depois de ter essa imagem, vou olhar para a equipe. Todos podem ver muito claramente em quem todos os aplicativos dependem. O chefe também vê, o novo programador júnior .Eu também vi que o tempo para desacoplamento e refatoração da arquitetura chegou, e a dificuldade de promover todas as partes também é reduzida.

No final, essa equipe se tornou uma equipe típica com uma transformação ágil bem-sucedida, e sua eficiência de entrega de P&D estava entre as melhores.

Falando sobre a gestão da qualidade de plataformas massivas
A tabela na figura abaixo foi compartilhada por colegas como uma prática de DevOps em conferências relevantes nos últimos dois anos. Esta mesa é a criação original de nossa equipe de qualidade em 2013. Temos muitas linhas de negócios, com várias características de negócios, algumas para finanças e outras para front office, não é viável a utilização de um padrão de qualidade de código unificado. Portanto, solicitei à equipe de eficiência de engenharia que apoiasse o uso de diferentes recursos para fazer acordos diferentes durante o projeto inicial, e a equipe de QA também deveria formular as especificações de acordo. Para muitos dos detalhes de implementação, a relação de tempo não começará e a comunicação offline é bem-vinda.
Falando sobre a gestão da qualidade de plataformas massivas

3.3.2 Construção de automação

A construção automatizada é composta por dois elos. A estratégia de automação de teste é o design em camadas e a execução coordenada. Isso agora é um consenso geral na indústria, então não vou explicar. Vejamos alguns exemplos.

Falando sobre a gestão da qualidade de plataformas massivas
Falando sobre a gestão da qualidade de plataformas massivas

Por exemplo, a varredura de código da JD.com é um tamanduá, com uma média de mais de 240 serviços de inspeção por dia e uma média de 40 problemas encontrados por dia, e as regras de inspeção podem ser configuradas de forma flexível.

Falando sobre a gestão da qualidade de plataformas massivas

O controle de qualidade na figura abaixo mostra que os sites de comércio eletrônico realizam diversas atividades para atender a diferentes consumidores. Essas atividades levam 20 pessoas por semana para realizar as inspeções.A plataforma de monitoramento de operação e manutenção se concentra no nível da plataforma do sistema, e esse monitoramento se concentra nas questões de qualidade em um nível de negócio específico.

Falando sobre a gestão da qualidade de plataformas massivas

Temos muitas plataformas, este canal de atividades corresponde ao APP, mas não ao WeChat. Infelizmente, este evento foi lançado no canal WeChat, e também faremos verificações de adaptação da plataforma.

3.3.3 Construção de blocos de construção

No meu entendimento, a construção de blocos de construção é a lei de evolução da arquitetura de plataforma. Os blocos de construção são a evolução das capacidades comerciais de uma empresa e a evolução das capacidades técnicas de uma equipe de P&D.
Falando sobre a gestão da qualidade de plataformas massivas

A julgar pela experiência de construção de plataformas de eficiência de engenharia, plataformas de operação e manutenção automatizadas, plataformas de middleware e plataformas de qualidade que liderei, deve ser uma série de pequenas ferramentas, protótipos de framework, scripts dispersos, através de modularização, serviço e visualização. O processo de transformação formará gradualmente um novo ecossistema que é flexível, plugável e combinável para fornecer serviços externos.Este é o processo de nossa evolução.

Este processo também atingiu o objetivo final de empoderamento de blocos de construção. Diante de novos negócios e novas aplicações, precisamos fornecer soluções. Precisamos apenas escolher o que precisamos, fazer algumas transformações e configurações simples e está pronto para o mundo exterior.

Falando sobre a gestão da qualidade de plataformas massivas

Por exemplo, neste exemplo, o sistema existente tem seus próprios módulos originais funcionando, como colaborar? Esta é a construção desse bloco de construção.

Falando sobre a gestão da qualidade de plataformas massivas

O serviço em nuvem de eficiência de engenharia da YHD é feito por mim na loja nº 1. Por meio de uma série de transformações de serviço funcional, padronização de dados e automação de processo do sistema fechado original em cada link, um conjunto completo de serviços de gerenciamento de P&D orgânico é finalmente formado.

O conteúdo é relativamente rico, a relação de tempo, enfim, dois.

Primeira pessoa. Quando os engenheiros entram na empresa, tudo, incluindo as permissões da base de código, os aplicativos que podem ser vistos, os lançamentos que fazem e assim por diante, são controlados automaticamente.

Em segundo lugar, o produto. Quando um engenheiro de P&D produz uma linha de código, onde está o código armazenado, onde é empacotado, como sair, o que foi alterado, quais testes foram aprovados, os resultados do lançamento, feedback de monitoramento, custos de teste de P&D e benefícios, qualidade / eficiência do processo, etc.

Falando sobre a gestão da qualidade de plataformas massivas

3.3.4 Construção inteligente

Construção inteligente, ainda estamos a caminho.

Não há muitos casos compartilhados agora. Este é o feedback de nossos usuários, mas para a coleta, diferentes perguntas precisam ser enviadas a diferentes departamentos. As perguntas de feedback enviadas pelos usuários on-line são analisadas, e a correspondência semântica e a análise de cluster são usadas. Por exemplo, certos tipos de problemas são retornados ao departamento de operação e alguns problemas são retornados à P&D.

Falando sobre a gestão da qualidade de plataformas massivas

4. Resumo e Outlook

Falando sobre a gestão da qualidade de plataformas massivas

De frente para trás, uma perspectiva completa. Porque o DevOps quebra a barreira e forma um gerenciamento geral, mas as contradições internas precisam ser equilibradas, e o objetivo final é buscar o máximo em gerenciamento de qualidade.

Falando sobre a gestão da qualidade de plataformas massivas

Essa é a experiência de um gerente de qualidade antes de mim, acho que ressoa bem, e vou compartilhá-la com todos no final. Muitas empresas têm equipes que constroem plataformas, assim como o departamento de qualidade.

Hoje, quando o DevOps é popular, todos parecem estar interessados ​​nele, enquanto ignoram os engenheiros que estão realmente lutando para garantir a qualidade na linha de frente do negócio. Não trabalhe por causa das ferramentas, nós fazemos ferramentas para resolver problemas. Não importa o quão grande seja a habilidade usada, as ferramentas altas não podem cair no chão e serão feitas em vão. Enfatizando a qualidade, nossa intenção original é perceber o valor que os produtos trazem para os usuários.

Falando sobre a gestão da qualidade de plataformas massivas

Acho que você gosta

Origin blog.51cto.com/15127503/2657793
Recomendado
Clasificación