MicroStrategy ONE

Metodologia de desenvolvimento de produto

Para ver uma versão em PDF com apenas esta página, clique aqui.

Atualmente, a equipe de Tecnologia da MicroStrategy segue uma metodologia ágil de desenvolvimento de produtos. Ela é composta pelos grupos a seguir: Equipes de Scrum, desenvolvimento de produtos, gerenciamento de produto, engenharia de software, qualidade de software, design de experiência do usuário, conteúdo, localização e DevOps.

As Equipes de Scrum são muito alinhadas com suas entregas e trabalham em ciclos de iteração/sprint durante duas semanas que culminam em cerimônias decisivas onde há demonstração dos incrementos de software entregues em uma iteração específica. O plano de execução é definido por seis iterações que abrangem as entregas das equipes de engenharia e de qualidade para o calendário trimestral. O desenvolvimento de MicroStrategyOs produtos da empresa abrangem arquitetura de software, princípios de design, bem como validação e implantação contínuas do software. Durante o desenvolvimento de produtos, os recursos de portfólio (“Recursos”) são decompostos nas suas histórias constituintes. Os valores incrementais associados a esses recursos são atribuídos e depois os recursos são realizados de acordo com essas atribuições.

MicroStrategy possui sistemas centrais de controle de origem, controle de versão, ramificação e gerenciamento de código em centros de tecnologia em todo o mundo. Esses sistemas oferecem governança, controles de check-in, aplicação de revisão de código, além de insights práticos sobre processos de desenvolvimento, cobertura de código e outros princípios fundamentais de entrega de software corporativo, como análise de código estático.

MicroStrategy mantém um sistema centralizado para capturar todos os aspectos do desenvolvimento de produtos e gerenciamento de qualidade. O gerenciamento de qualidade inclui “Planos de GQ”, que são situações predefinidas de teste, manual e automatizado, que representam uma gama de fluxo de trabalho dos usuários. O sistema centralizado captura itens de trabalho de todas as Iniciativas e Recursos, obtidos por meio de tarefas, defeitos e histórias de usuários. As Iniciativas e Recursos são medidas em pontos, enquanto as tarefas são medidas em horas.

O sistema central é integrado ao repositório de código-fonte, ao processo de compilação e à análise de dados para fornecer transparência em relação ao trabalho atual das equipes, ao status desses itens de trabalho e ao tamanho e à natureza de confirmação do código-fonte. Além disso, isso ajuda a garantir que os requisitos possam ser rastreados por design de software, código, automação e teste de integração. Tudo isso permite integração, entrega e implantação contínuas. O sistema central é usado pelas funções de gerenciamento de produto, desenvolvimento de produtos, arquitetos, engenheiros, DevOps, analistas de qualidade, experiência do usuário, conteúdo, documentação e executivo.

Metodologia de lançamento

MicroStrategy os lançamentos de produtos consistem em lançamentos mensais para aplicativos móveis e aplicativos de desktop. Esses lançamentos incluem novas funcionalidades e melhorias de produto com base na inovação e no feedback dos clientes. Além disso, a cada trimestre, MicroStrategy lança atualizações cumulativas além da versão mais recente da plataforma. Por exemplo, a programação de lançamentos em 2022 inclui a Atualização 5 no primeiro trimestre (11.3.5), a Atualização 6 no segundo trimestre, a Atualização 7 no terceiro trimestre e a Atualização 8 no quarto trimestre. Enquanto MicroStrategy os lançamentos de plataformas, anteriormente em ritmo anual, costumam oferecer novos recursos e inovações significativas ao mercado, bem como melhorias incrementais de produtos, MicroStrategy As atualizações se concentram em um número selecionado de itens relatados pelos clientes, melhorias de segurança, desempenho e escalabilidade. Com melhorias nas práticas de velocidade e desenvolvimento, MicroStrategy é capaz de fornecer o mesmo tipo de escopo em uma atualização trimestralmente, embora com deltas menores entre os lançamentos. Essas atualizações continuarão a incluir métricas de qualidade de software capturadas no sistema de registro para problemas dos usuários com prioridade, gravidade, impacto e abrangência. Um ciclo de atualização típico para MicroStrategy consiste em seis iterações onde aspectos da plataforma são validados em ambientes, casos de uso orientados a pessoas, funcionalidade, desempenho, estabilidade, segurança, escalabilidade, internacionalização, compatibilidade, atualização, acessibilidade e outros critérios de lançamento. Esses quesitos de qualidade de produto são revisados e validados com base em critérios de aceitação rigorosos.

MicroStrategy também tem um processo de escalonamento por meio do qual os clientes podem escalar problemas críticos por meio de seus contatos executivos de contas e de suporte ao cliente. Além das atualizações programadas regularmente, MicroStrategy analisa esses escalonamentos com frequência e pode emitir versões de patch de software em resposta. MicroStrategy lançamentos de patch geralmente são acumulados cumulativamente no próximo disponível MicroStrategy Atualize e para a próxima MicroStrategy Liberação da plataforma.

Programas de qualidade

Os recursos possuem Critérios de aceitação que geralmente levam em consideração funcionalidade, desempenho, confiabilidade, segurança, escalabilidade, internacionalização, compatibilidade, atualização e/ou considerações de acessibilidade. Antes dos recursos serem aprovados para o plano de execução, ocorre a inspeção de definição, design de engenharia, integração contínua / testes de unidade, arquitetura, fluxos de trabalho UX e/ou planos de teste de qualidade. Essa metodologia impõe um rigor maior antes da criação do código, ajuda a eliminar ambiguidades e unifica objetivos claros para o design de experiência do usuário, a engenharia, a arquitetura e os planos de testes.

Esses programas ajudam a garantir que em todas as iterações os itens de trabalho sejam inspecionados regularmente quanto à adesão aos critérios de aceitação estipulados. Tradicionalmente, o plano de testes geral considera metodologias de teste automatizadas para os testes de integração contínuos. Com base nesses testes, as aprovações / rejeições automáticas de qualquer código proposto são submetidas a um repositório central de código-fonte com controle de versão.

MicroStrategy As compilações de plataforma executam uma grande variedade de testes de sistema de acordo com os critérios de lançamento corporativo, utilizando varreduras e análises de qualidade de código para garantir a integridade antes que a compilação seja lançada para as equipes scrum. O MicroStrategy compilações são atualmente lançadas em Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy na AWS, MicroStrategy nos sistemas operacionais Azure, iOS, OSX e Android. Depois que uma compilação é liberada para controle de qualidade, as equipes scrum utilizam casos de teste ponta a ponta orientados pelos principais MicroStrategy personas no Mapa publicado do Intelligent Enterprise como parte do processo de validação.

MicroStrategy realiza varreduras regulares de segurança de código-fonte, varredura de segurança de código binário, testes de penetração internos e testes de penetração independentes de terceiros para vulnerabilidades de segurança. Os tipos de vulnerabilidades testadas são as identificadas como as 10 principais da OWASP (Projeto Aberto de Segurança em Aplicações) e as 25 principais da SANS (instituto americano que oferece treinamento e certificação em segurança), embora não se limite apenas a essas.

MicroStrategy desenvolve e mantém implantações centrais de sua plataforma de software. Para cada iteração esses sistemas são atualizados, os dados são validados e as comparações de desempenho associadas e as diretrizes de capacidade são medidas e comparadas com pontos de validação anteriores. Esses sistemas são estabelecidos por meio de relações estratégicas com nossos clientes e parceiros. Isso é definido como “Programa de validação do usuário”.

MicroStrategy utiliza sua própria plataforma implantada em sistemas internos para executar análises de missão crítica para a organização. Os principais stakeholders desses sistemas internos fazem autorizações rotineiras sobre as compilações, como parte dos ciclos de lançamento.

Os programas de qualidade existem para garantir que os problemas dos usuários encaminhados para a equipe de tecnologia sejam avaliados, atribuídos, agendados e resolvidos de maneira pontual. A liderança sênior de tecnologia tem reuniões regulares de coordenação com a equipe de vendas e de suporte técnico, para garantir que a empresa esteja alinhada com as informações mais atualizadas. Nessas reuniões, geralmente são revisadas as principais métricas relacionadas a itens de trabalho, que podem incluir data, prioridade, gravidade, impacto, tempo de atendimento inicial e tempo de finalização do atendimento. Os itens dessa reunião são colocados em Análise de causas raiz (Root Cause Analysis, RCA), no qual as causas subjacentes do problema encaminhado são identificadas, o problema é corrigido, os defeitos no processo de qualidade ou na engenharia são abordados e os itens dessas sessões são adicionados ao sistema de registro para que sejam feitas melhorias no desenvolvimento do produto.

Os Programas de qualidade atuam em parceria com os programas de Suporte a Empresas da MicroStrategy para garantir que os funcionários trabalhem regularmente com os usuários. Estes podem assumir a forma de Programas de Upgrade, envolvimento com MicroStrategydo departamento de consultoria para ganhar experiência em casos de uso de clientes ou por meio de sessões de UX Design com clientes para poder fornecer informações de design no início do ciclo de desenvolvimento.

MicroStrategy tem um mecanismo robusto para capturar feedback de seus clientes por meio de sua organização de campo com a intenção de orientar o roteiro e visualizar antecipadamente a direção estratégica da tecnologia. Isso inclui muitas revisões de estratégia de clientes. Muitos dos itens atuais que constam na estratégia da plataforma são resultado direto dessas sessões, assim como do Suporte a Empresas e dos Envolvimentos de UX, informações dos usuários obtidas pelas equipes de Suporte e de contas, que trabalham em conjunto para atuar em nome do cliente.

Pontos de inspeção do desenvolvimento de produtos

A tabela a seguir compreende os principais pontos de inspeção ágil e resultados do ciclo de vida de Desenvolvimento de Produto em MicroStrategy.

Inspeção Descrição

Planejamento de lançamento

Uma cerimônia transparente e inclusiva de planejamento sincronizado que permite aos stakeholders e equipes entender os objetivos, alinhar suas entregas à visão corporativa e comprometer-se com a entrega de um produto de alta qualidade a fim de garantir o sucesso do cliente.

Preparação para lançamento

Inspeção envolvendo toda a empresa para avaliar os critérios de aceitação, os Principais Indicadores de Desempenho no desenvolvimento do produto de acordo com a arquitetura de engenharia, a experiência do usuário, os itens de trabalho dos usuários, a funcionalidade, o desempenho, a escalabilidade, a segurança, a internacionalização, a atualização, a compatibilidade e a acessibilidade. Reunião entre diretores de experiência para garantir a transparência das entregas.

Defeitos de triagem

Atividade diária da equipe para revisar defeitos em aberto ou que possam surgir, entender o impacto deles, analisar padrões, estabelecer prioridades e determinar uma programação. Os defeitos encontrados pelos clientes são revisados primeiro, para garantir uma avaliação e comunicação completa com o usuário através do processo de Suporte Técnico e de Garantia de Qualidade.

Gerenciamento de alterações

Cerimônias para manter o lançamento focado, a qualidade e a previsibilidade da entrega por meio de controle do escopo que entra ou sai de um lançamento assim que o planejamento é encerrado. Para cada alteração é realizada um análise de impacto total considerando os principais indicadores de desempenho, que incluem valor, custo e quantificação dos ajustes necessários para entrega de um plano de execução.

Planejamento da iteração

Ponto de chegada, no qual a Equipe de Scrum se compromete a entregar o que for possível de acordo com a iteração. O desenvolvedor de produto esclarece os detalhes dos itens pendentes do produto e o critério de aceitação de cada um para que a equipe de entrega entenda os requisitos e defina o quanto de trabalho e esforço serão necessários para realizar o compromisso.

Reunião diária

Cerimônia que faz parte do cronograma diário na qual a Equipe de Scrum avalia o status e progresso da iteração. Os membros da equipe discutem brevemente o trabalho do dia anterior, o trabalho planejado para o dia e ressaltam os riscos para que o desenvolvedor de produto e o Scrum Master possam tomar as medidas necessárias para mitigar os riscos.

Desenvolvimento máximo com Scrum

Cerimônia diária com horário marcado para que os Lead Scrum Masters, os Desenvolvedores de Produtos e os Gerentes de Produtos revisem o progresso da iteração e do lançamento, ressaltem e resolvam dependências e planejem com trabalharão com recursos que exigem a participação de várias equipes.

Refinamento de pendências

Cerimônia regular entre toda a Equipe de Scrum para alinhar, entender e decompor os itens de trabalho que serão introduzidos em uma iteração futura. O desenvolvedor de produto apresenta pendências categorizadas para a equipe e descreve os itens de trabalho a fim de ajudar a equipe a entender os requisitos, a proposição de valor e os critérios de aceitação. O desenvolvedor de produto recebe informações da equipe quanto a dependências, riscos, suposições, critérios de aceitação e estimativas de alto nível que possam ajudar a refinar os itens de trabalho antes de uma cerimônia de planejamento.

Revisão de iteração

Cerimônia no último dia da iteração, na qual a Equipe de Scrum apresenta a funcionalidade do produto já concluído ao resto da equipe e aos stakeholders. Ajuda a equipe a obter feedback dos stakeholders para que sejam aplicados ajustes em iterações futuras de modo a alinhar o plano com os requisitos e prioridades dos stakeholders.

Retrospectiva da iteração

Última cerimônia de Scrum de uma iteração na qual a Equipe de Scrum revisa o próprio desempenho durante a iteração. A equipe discute os destaques da iteração e entra em acordo sobre qual será o plano para melhorar a próxima.