VSTS – Process Templates (Scrum, Agile e CMMI)

Propósito desta publicação: auxiliar na escolha do template adequado para o seu time de desenvolvimento. Atualmente há 3 opções – Scrum, Agile e CMMI.

Acesse Process Template Manager para download dos templates mais recentes

Versões: VSTS | TFS 2018 | TFS 2017 | TFS 2015 | TFS 2013

De modo geral, os 3 templates possuem diferenças na estruturação do Backlog, no estado das atividades (tasks) e rastreamento do processo. O Scrum tem um modelo mais leve, enquanto o CMMI é o mais adequado para processos formais e gerenciamento de mudança.

Scrum

template-scrum
Recomendado para times que trabalham com Scrum. Permite boa rastreabilidade do PBI (Product Backlog Item) e de Bugs no board de trabalho.

Agile

template-agile
Recomendado para equipes que trabalham com métodos Ágeis e rastreiam as atividades de Desenvolvimento e Teste separadamente. As tarefas (tasks) permitem armazenar Estimativa (Original Estimate), Tempo restante para concluir a tarefa (Remaining Work) e Tempo completo de trabalho (Completed Work).

CMMI

template-cmmi
Mais apropriado para os times de desenvolvimento que precisam de processos mais formais e controles de change management. Há rastreamento de requirements, change requests, risks, e reviews.

 

Comparação entre templates

Independente da escolha do template process que seu time de projeto irá trabalhar, você pode customizar campos na opção Process > Layout do VSTS. Veja abaixo os status e  diferenças entre WITs dos três templates:

Tracking area Scrum Agile CMMI
Workflow states
  • New
  • Approved
  • Committed
  • Done
  • Removed
  • New
  • Active
  • Resolved
  • Closed
  • Removed
  • Proposed
  • Active
  • Resolved
  • Closed
Product planning
  • Product backlog item
  • Bug (configurable)
● User story
● Bug (configurable)
● Requirement
● Bug (configurable)
Portfolio backlogs
  • Epic
  • Feature
  • Epic
  • Feature
  • Epic
  • Feature
Task and sprint planning
  • Task
  • Task
  • Task
Bug backlog management
  • Bug
  • Bug
  • Bug
Issue and risk management
  • Impediment
  • Issue
  • Issue
  • Risk
  • Review

No site da Microsoft (mencionado nas referências deste post) você pode encontrar mais detalhes sobre as transições e status desde a Epic, Feature, PBI/User Story/Requirement, Bug e Task.

Qual o melhor template para o seu time? Avalie sempre os benefícios de rastreamento, compliance e método de trabalho da sua equipe para ponderar na melhor decisão.

 

Referências
https://docs.microsoft.com/pt-br/vsts/work/work-items/guidance/choose-process

 

ALM (Application Lifecycle Management) – Ciclo de vida da aplicação

Objetivo: abordar os conceitos iniciais do ciclo de vida de uma aplicação
Público: times de desenvolvimento, gestores, analistas, arquitetos, stakeholders e interessados em melhorar o processo de desenvolvimento de sua empresa

No contexto empresarial (grandes, médias, pequenas empresas, startups, etc.) do IT Systems Development, considerando a dificuldade de construir aplicações com a qualidade e valor desejados pelo usuário, o ALM pode ser então definido como o processo que guia a vida útil de uma aplicação desde a sua concepção, passando pela construção, operação e manutenção evolutiva.

alm-001

Diferença entre SDLC x ALM

  • SDLC (Software Development Lifecycle Management) inclui os processos relacionados ao DESENVOLVIMENTO da aplicação como requisitos, arquitetura, codificação, testes e gestão da configuração/projeto.
  • ALM (Application Lifecycle Management) inclui todo o ciclo de vida da APLICAÇÃO, desde a business idea, identificação da necessidade, riscos e desafios. Este ciclo geralmente é encerrado quando a aplicação não é mais utilizada pelo business, potencialmente alguns anos após o desenvolvimento inicial.

 

Pilares ALM

Os pilares que estruturam o ALM e trabalham de forma complementar para prover o gerenciamento do ciclo de vida aplicação:

alm-002

  • Pessoas – o time envolvido na gestão do ciclo de vida da aplicação inclui atribuições desde o alinhamento estratégico até a execução do desenvolvimento de sistemas. As empresas comumente concentram estas responsabilidades em: Executivo, PMO, Gerente de Projetos e Gerente de Operações; Analista de negócios, Arquiteto, Desenvolvedor, Tester e DBA
  • Processos – conjunto de boas práticas, artefatos, guias e manuais que orientam o desenvolvimento e manutenção de uma aplicação
  • Ferramentas – engloba meios/equipamentos/tecnologias que automatizam e facilitam a condução dos processos pelas pessoas

 

Fases do ALM

As fases do ciclo de vida da aplicação podem ser melhor organizadas da seguinte forma:

alm-003

  • Definição: em torno das necessidades e motivações organizacionais. Em método ágeis, por exemplo, a constante validação de produto mínimo viável ou até a identificação de novos mercados.
    • Iniciar: alocar os recursos iniciais – pessoas, processos e ferramentas
    • Definir: converge a ideia em estratégias para desenvolver novas aplicações, considerando os métodos e ferramentas
    • Escolher: a escolha das ferramentas, métodos e tecnologias adequadas para a aplicação é obtida com técnicas como ROI (retorno de investimento), aplicabilidade ao ambiente, etc.
  • Construção: mão na massa (hands on). É a execução do plano definido nas fases anteriores. Independente de um método específico para gerenciar – ágil, waterfall, etc. A restrição tripla (escopo/custo/tempo) além da qualidade deve ser considerada durante a execução. Lembre-se que código ruim não sobe para produção.
  • Operação: após o release da aplicação, precisamos manter o funcionamento adequado da aplicação neste ambiente. Os aspectos de infraestrutura, gestão dos chamados, monitoramento, suporte de fornecedores, entre outros são os assets desta fase. O framework do ITIL é um bom guia para apoiar na gestão dos serviços e atendimento a operação da empresa. O Kanban também é outra forma de trabalhar com operações na sua empresa.
  • Fim: fase final da aplicação, em que a empresa pode evoluir a aplicação com incrementos (adição de novas features) ou substituir a versão.

 

Disciplinas ALM

O uso de disciplinas permite endereçar as entradas e resultados esperados em cada etapa do ciclo de vida da aplicação.

alm-004
Arquitetura e Design
Diretrizes importantes para aplicação (e cumprimento) de práticas e processos entre os times de desenvolvimento. A Arquitetura deve ser disseminada e ter consistência no âmbito de construção da aplicação.

Gerenciamento de Requisitos
Manter a rastreabilidade dos requisitos (comportamento esperado da aplicação) ao longo do ALM. Documentar, priorizar, identificar dependência, conformidade são algumas das ações.

Gestão de Configuração de Software
O processo de construir a aplicação envolve diversos artefatos (código-fonte, documentos, etc.) que devem ter rastreabilidade, controle de acesso, versionamento, entre outros para garantir versões adequadas ao time.

Governança
Esta disciplina mantém a sinergia entre os projetos e processos da empresa, com métricas claras de retorno dos projetos, utilizando ferramentas integradas para gestão de Portfólio.

Implantação e Operações
Além das questões de infraestrutura (ambiente segregados, definição de procedimentos, etc.), a gestão operacional deve ter um controle dos atendimentos (incidentes, defeitos, solicitações, etc.) e monitoramento contínuo, prevendo erros e otimizando o custo de manutenção das empresas.

Testes e QA
Processo de testes para validações como o Teste Unitário (checa o resultado esperado mediante valores de entrada), Teste Integrado (entre módulos), Teste de Regressão (verifica a cada novo Build se não foram gerados Bugs) e métricas de qualidade para validar o processo de homologação junto ao usuário.

Gestão de Projetos
Uma boa gestão dos projetos visa a integração dos processos de desenvolvimento – tarefas, defeitos, mudanças RDMs, etc. – e a estratégia da empresa, apoiando a avaliação financeira e na criação de métricas que justifiquem a execução do Portfolio organizacional. Na prática a integração entre ferramentas de gestão e desenvolvimento como EPM e ALM.

Desenvolvimento
O time de desenvolvimento deve seguir um padrão de codificação com o apoio de arquiteto e líder técnico. O BDD, TDD e DDD são práticas que auxiliam o time técnico a construir e determinar boas práticas para as aplicações. Além de utilização de componentes e recursos de forma adequada.

 

Referências

– Microsoft Technet Library
– Microsoft MSDN
– Microsoft Technet Wiki
– Microsoft Technet Blogs
– Microsoft MSDN Blogs
– https://msdn.microsoft.com/pt-br/library/ee156630.aspx
– https://social.technet.microsoft.com/wiki/pt-br/contents/articles/22899.aspx

 

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.