Strategy ONE

Metodologia de desenvolvimento de produto

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

No momento, a equipe de tecnologia da MicroStrategy segue uma metodologia de desenvolvimento ágil dos 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 produtos da MicroStrategy abrange arquitetura de software, princípios de design e também validação e implantação contínua 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.

A MicroStrategy possui controle de código centralizado, controle de versão, ramificação e outros sistemas de gerenciamento de código espalhados por centros de tecnologia no mundo todo. 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.

A 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

Os lançamentos de produtos MicroStrategy são 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, a MicroStrategy lança atualizações cumulativas sobre a 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. Os lançamentos da plataforma MicroStrategy, anteriormente anuais, normalmente oferecem novos recursos e inovações significativas para o mercado, além de melhorias incrementais do produto. Já as atualizações do MicroStrategy se concentram em um número selecionado de itens relatados pelos clientes, segurança, desempenho e melhorias de escalabilidade. Com melhorias nas práticas de velocidade e desenvolvimento, o MicroStrategy é capaz de oferecer o mesmo tipo de escopo em uma atualização trimestral, embora com deltas menores entre as versões. 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 do MicroStrategy consiste em seis iterações em que os aspectos da plataforma são validados de acordo com ambientes, casos de uso baseados em personas, 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.

A MicroStrategy também tem um processo de encaminhamento de ocorrências no qual os usuários podem encaminhar problemas graves através de seus executivos de conta e responsáveis pelo suporte ao cliente. Além de atualizações agendadas regularmente, a MicroStrategy revisa com frequência o que é encaminhado e pode lançar patches com base nisso. Os patches lançados pela MicroStrategy geralmente são incorporados cumulativamente na próxima atualização do MicroStrategy e no lançamento da plataforma MicroStrategy seguinte.

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.

As compilações da plataforma MicroStrategy executam uma grande variedade de testes de sistema, que levam em consideração os critérios de lançamento da versão corporativa e utilizam verificações e análises de qualidade do código para garantir a integridade antes da compilação ser lançada para as Equipes de Scrum. As compilações da MicroStrategy no momento são lançadas para sistemas operacionais Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy on AWS, MicroStrategy on Azure, iOS, OSX e Android. Quando uma compilação é lançada para garantia de qualidade, as Equipes de Scrum utilizam casos de teste de ponta a ponta, conduzidos com base em personas importantes da MicroStrategy publicadas no Mapa do Intelligent Enterprise, como parte do processo de validação.

A MicroStrategy conduz verificação regular de segurança de código-fonte, verificação de segurança de código binário, teste de quebra de segurança interna e teste de quebra de segurança independente por terceiros para avaliar 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.

A MicroStrategy desenvolve e mantém implantações centrais da 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”.

A MicroStrategy utiliza a própria plataforma implantada em vários sistemas internos para executar análise de dados cruciais para o andamento da 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. Esses podem ser Programas de Atualização, envolvimento com o departamento de Consultoria da MicroStrategy para ganhar experiência em casos de uso do cliente ou por meio de sessões de UX Design com os clientes para poder fornecer informações sobre o design no início do ciclo de desenvolvimento.

A MicroStrategy tem um mecanismo robusto para obter feedback de seus clientes por sua Organização de campo com a intenção de direcionar a estratégia e oferecer visualizações da 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 abrange os principais pontos de inspeção ágil e os resultados do ciclo de Desenvolvimento de Produto da 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.