ALM – Gerenciamento de código-fonte

Objetivo: criar um processo de gerenciamento de código-fonte eficiente para implantação de Continuous Integration na sua equipe de Desenvolvimento.

Benefícios
: garantir versões corretas em produção; confiabilidade no rastreamento das mudanças; manter a esteira de implementação veloz e saudável; premissa para utilização de práticas DevOps

O time-to-market, mencionado em métodos ágeis, e considerado em empresas que precisam ter dinâmica e fluidez na criação e lançamento de produtos em produção, necessita de um processo de Integração Contínua para viabilizar frequentes ajustes e garantir entregas rápidas pela equipe de desenvolvimento. É neste contexto que um bom gerenciamento de fontes viabiliza o acesso aos fontes dos pacotes (Version, Service Pack e Hotfix) publicados em produção.

Uma boa prática deste modelo é trabalhar com três linhas:

  • Main: última versão funcional em desenvolvimento – o Configuration Manager realiza alterações via Merge e Check-in
  • Dev: branchs liberadas para desenvolvimento – novas implementações, hotfix e service pack
  • Release: representa os códigos-fonte liberados para produção; criadas a partir do Label aprovado pelo processo de validação de negócio

gestao-fontes

E então o fluxo trabalha com a MAIN para gerenciar o produto – deve estar isolada da linha de DEV e RELEASE. Em novas implementações, deve-se criar uma branch de DEV a partir da MAIN. Para correções, deve ser criada uma branch de HOTFIX, a partir da branch RELEASE correspondente.

Todos os commits de desenvolvimento devem ser realizados na DEV ou HOTFIX. A RELEASE será utilizada como referência ao ambiente de produção. As correções devem ser executadas pelo Configuration Manager via merge: HOTFIX -> RELEASE -> MAIN. Os desenvolvedores ficam encarregados de realizar o merge da MAIN para DEV.

O TFVC (.Net) e GitHub (Java,PHP, etc.) são versionadores utilizados neste contexto.

 

Artefato – Report Agile – Fechamento Sprint

A quem se dedica: times de desenvolvimento ágeis e gestores
Objetivo: prover visibilidade do backlog e artefatos da Sprint a todos os stakeholders do projeto

Olá, como o seu time está realizando o fechamento de uma Sprint? Há métricas suficientes para os envolvidos? Os principais indicadores estão sendo monitorados?

Neste post vamos trabalhar na construção de um Report que consolida as principais métricas de uma Sprint, com base no quadrante de Enterprise Balanced Scorecard do SAFe para analisar a eficiência, o valor entregue, a qualidade e a gestão ágil do projeto.

Metrics_SAFe

A ferramenta utilizada será o Excel conectando no VSTS (Microsoft). Como pré-requisito será necessário instalar ao menos uma das versões do Visual Studio ou Team Explorer na sua máquina para obter o suplemento Team Foundation. Após a instalação, o Excel habilitará a guia “Team” que permite trabalhar com o VSTS. Escolha a opção “New List” para configurar a conexão com o VSTS. Clique então em “Servers” e digite o endereço do servidor, por exemplo teste.visualstudio.com. O próximo passo é escolher a Collection e o Team Project configurado no VSTS.

excel

A janela “New List” solicita qual a query será utilizada para extrair as informações do VSTS. Deve ser selecionada a query criada no espaço de trabalho do VSTS. Veja na próxima imagem que eu demonstro como fazer isso.

query-list

No VSTS > Work > Queries > Shared Queries, existe um Editor para extrair informações do backlog dos projetos. Segue um exemplo simples, selecionando os projetos de uma “Area Path” (pode definir a localização de um projeto específico) e “Interation Path” (para definir qual sprint irá extrair informações) determinados.  Os filtros e colunas podem ser customizados conforme sua necessidade a nível de Work Item. Após salvar, a query ficará disponível na Query List do Excel.

query

E então será carregado os Work Items da sua query. A opção “Excel > Team > Choose Columns” possibilita escolher as colunas que deseja trabalhar na consulta. Selecione o Work Item Type / Title / State e os campos abaixo, conforme o seu process template:

  • Agile: Original Estimate, Completed e Remaining (também pode utilizar Story Points da User Story)
  • CMMI: Original Estimate, Completed Work e Remaining Work
  • Scrum: Effort

wi

O quadro tem um template sugestivo e pode ser preenchido da seguinte forma:

  • Efficiency: neste caso fiz 2 tabelas dinâmicas para preencher – 1) Contagem de Work Item Type (Task) e 2) Soma de  Original Estimate e Completed Work (para as estimativas, depende do Processo Template utilizado – pode ser em Horas ou Story Points )
  • Value Delivery: colocamos a DoD – Definição de pronto acordada com o PO da Sprint e se foi cumprida ou não
  • Quality: a mesma tabela dinâmica de Efficiency, relacionando Bugs, Spikes e Reworks
  • Agility: somente apontamento se tudo ocorreu bem dentro dos eventos ágeis

bsc-sprint

Já está pronto. Porém, se o envio do report envolve um público mais executivo, a recomendação é trabalhar com informações adicionais. Neste caso, utilizei o próprio Power Point para construção:

bsc-sprint-final

  • Projeto: os quatro quadrantes já foram feitos em Excel. Ao lado direito apenas coloquei um screenshot do Burndown que é gerado automaticamente no VSTS
  • Features: um gráfico Treemap (no próprio Excel) para relacionar as features que estão com maior dedicação de recursos no projeto. Lembre-se de organizar o seu backlog estruturado em Epic > Features > Product Backlog Item (Scrum) | User Story (Agile) | Requirement (CMMI) |

    Veja a relação no “Related Work” > Parent, relacionando o Work Item com a Requirement (ou User Story para Template Agile, ou PBI para Tempate Scrum)
    wi-detail

  • Velocity x Load: acompanhamento da velocidade e carga do time, também extraídos do Excel

 

 

Dashboard Power BI utilizando VSTS

Neste post vamos demonstrar como criar Dashboards no Power BI utilizando os dados do VSTS para os times de desenvolvimento Agile que precisam de informações complementares para apoiar a governança do projeto.

O primeiro passo é ter a integração entre Power BI e VSTS. Neste post eu explico como fazer: https://leonardo-matsumota.com/2018/01/08/integracao-power-bi-e-vsts-parte-i/

Com o Power BI conectado no VSTS, vamos agora para o Dashboard. Este é o painel com as métricas que iremos consolidar:

  • [Lado Esquerdo] Projeto – relação de todos os projetos da torre no VSTS (configurados como projeto de equipe) para navegação e acompanhar as informações de todos os projetos da torre
  • [Superior] Dados Gerais –  breve descrição com o nome do projeto, sprint atual, bloqueio (se há) e horas restantes para o fim da sprint
  • [Centro 1]: New, Active, Homolog, Closed – relação das tarefas do backlog
  • [Centro 2]: Estimativa vs Realizado – andamento das tarefas
    Recursos – distribuição de recursos entre as tarefas
    State – distribuição dos status das atividades (para ajudar a equilibrar o  Work In Progress e auxiliar a gerenciar o backlog)
  • [Inferior]: Tasks em atraso – quantidade de horas ou story points para cada desenvolvedor e sinalização de tarefas em atraso (original estimate x remaining x completed work)

power-bi

Veja abaixo como criar cada uma das métricas no seu Dashboard:

  1. [Lado Esquerdo] Para criar o menu de navegação entre os projetos, utilizei o Chiclet Slicer (App da Microsoft) que está disponível para download em https://appsource.microsoft.com/en-us/marketplace/apps?product=power-bi-visuals. Após o download, utilize a opção “Import from file” em visualizações dentro do Power BI. Arraste o controle criado do Chiclet Slicer e com ele selecionado, marque a coluna “Node Name” que é a coluna no VSTS que representa os projetos criados na sua torre.
    bi-dash-01         bi-dash-02
  2. [Superior] O controle multi-row card foi criado utilizando os campos: Node Name / Iteration Path / Blocked / Remaining Work
    bi-dash-03
  3. [Centro] O controle Card é utilizado para demonstrar a quantidade de itens no backlog (utilizando o filtro na coluna State = New, Homolog, Active e Closed para template CMMI). O campo utilizado neste controle é Original Estimate
    bi-dash-04
    No quadro Active foi criado um gráfico Clustered Column Chart para representar as atividades em andamento com melhor visibilidade
  4.  [Centro] Os controles Gauge e Pie Chart foram utilizados nos gráficos abaixo, considerando os seguintes campos do VSTS:
    Estimativa vs Realizado: Completed Work e Original Estimate
    Recursos: Assigned To e Original Estimate
    State: State e Count of Titlebi-dash-05
  5. [Inferior] O último controle utilizei a Tabela para exibir o nome dos recursos (Assigned To) que estão desenvolvendo, ordenando pela horas completas (Completed Work). E o outro quadro sinaliza se há alguma tarefa em atraso para que alguma medida seja considerada – utilizamos o multi-row card com os campos Title / Completed Work / Original Estimate, considerando a exibição se a realização já ultrapassou a estimativa

pbi-01

Integração Power BI e VSTS

Integração Power BI e VSTS

O Power BI é uma ótima ferramenta para construir os Dashboards de seus projetos, principalmente quando o trabalho é em conjunto com o VSTS que registra informações dos templates Scrum, CMM e Agile para consolidar suas métricas.

O download do Power BI pode ser feito no site da Microsoft na versão Desktop ou para celulares – https://powerbi.microsoft.com/pt-br/downloads/.

Segue então um passo-a-passo para realizar a integração entre as ferramentas:

  1. Conexão – Get Data

Ao iniciar o Power BI, acesse a opção Get Data > Online Services > Visual Studio Team Services

bi-1

  1. Dados de acesso

Preencha o nome da sua conta, projeto e area path (opcional):

  • Nome da sua conta (Team Services Account Name)

É o nome da conta registrada no VSTS. Por exemplo, se você cadastrou https://empresa-brasil.visualstudio.com/, basta colocar empresa-brasil neste campo

  • Project name

Digite o projeto criado no VSTS e que será utilizado para acompanhamento

  • Area path

Não é obrigatório, mas você pode adicionar a Area Path para ser mais direto ao time que você deseja extrair informações, de acordo com a estrutura criada no VSTS. Utilize * para todos os times ou Projeto\Time para especificar o time.

bi-2

Importante: para conectar o Power BI no VSTS você pode utilizar dois tipos de autenticação:

Cenário 1 (Basic): utilizar a mesma conta do Azure Active Directory (AAD). Pode inserir as credenciais neste momento ou em qualquer outro na opção “Sign In” no canto superior direito do Power BI.

Cenário 2 (Organizational Account): utilizar sua MSA (Microsoft Account / Live ID) para autenticação. Sendo assim, você pode na opção login utilizar sua conta corporativa (criada via office 365) ou conta pessoal que é sua conta Microsoft.

bi-3

Os detalhes de configuração e permissão de contas podem ser vistos no site da Microsoft:

Acesso: https://docs.microsoft.com/en-us/vsts/report/powerbi/connect-vso-pbi-vs
Permissões: https://docs.microsoft.com/en-us/vsts/report/analytics/analytics-security

  1. Utilização do Power BI

Pronto! Agora no canto direito “Fields” já temos as tabelas do VSTS e assim podemos trabalhar com a projeção de gráficos e a construção do Dashboard Agile. Entre as principais facilidades estão: agregação de dados, gráficos de tendência, widgets e exploração de metadados.

bi-4

Nos próximos artigos demonstrarei como construir Dashboards utilizando o Power BI conectado com o VSTS. Não deixe de acessar.