Visual Studio 2013
Microsoft ALM = Produtividade
AdrianoBertucci
Especialistade SoluçõesALM
adriano.bertucci@konia.com.br
Típico projeto de software
“Nossa equipe não produz o quanto gostaríamos”
“Nosso cronograma está atrasado”
“Nossa equipe de desenvolvimento não se comunica”
“Precisamos nos adequar às novas legislações”
“Não conseguimos garantir a qualidade das soluções”
Desafios – Problemas Comuns
− Requisitos de negócios não são gerenciados de forma efetiva
− Ferramentas e dados dispersos
− Testes não alinhados aos objetivos de negócios
− Falta de orientações e processos definidos
− Problemas de comunicação entre os membros da equipe
− Visibilidade limitada do status do projeto para tomada de decisões
Como esta a saúde do seu
projeto?
− Cronograma e controle de atividades?
− Controle de defeitos?
− Quais cenários foram testados com sucesso?
− Cobertura do código testado?
− Rotatividade do código – estabilização?
− Requisições de mudanças gerenciadas adequadamente?
− Controle sobre que fontes foram alterados por causa de determinado requisito /
correção?
Solução? ALM!
− ALM (Application Lifecycle Management, Gerenciamento do Ciclo de Vida de
Aplicações):
− É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo
requisitos, modelagem, desenvolvimento,
construção, testes,
manutenção e
operações.
 Defeitos – Bug
Tracking
 Controle de Tarefas
 Requisitos de
Negócios
 Controle de
Versão Avançado

 Metodologia &
Processo de
Desenvolvimento
 Automação de
Compilação (build)
 Testes Web
 Teste de Carga
 Testes Unitários
 Análise de Código
 Documentação
de Projeto
 Ferramentas de
Arquitetura
 Ferramentas para
Banco de Dados
Relatório em Tempo Real
Testador
Desenvolvedor
Arquiteto
Gerente de
TI ou de
Projetos
Analistas de Negócios
Profissional de
Banco de Dados
Designer
Processo de trabalho
Analista de
Negócio Gerente de
Projeto
Time de
Desenvolvimento
Test
Operações
Requisição
De Mudança
Cenários
Requerimentos
de Negócio
Bugs
Tarefas
Erros em
Produção
Itens de trabalho são a unidade de
comunicação entre as pessoas do time
Builds
Implantação
Itens de trabalho
Descrição
Estado Atual
Atribuição de tarefas
Anexos
Links para outros Itens de Trabalho
Histórico totalmente auditado
Personalizável
Encerrado
Ativo
Solucionado
Encerrado
Ativo
Solucionado
Proposta
Caso de Uso Tarefas Bugs
“Os itens de trabalho são unidades de comunicação
que fazem parte do processo de desenvolvimento”
Modelo de processos
Visual Studio 2013
Metodologias
“Se não pode ser medido, não
pode ser gerenciado, e se não
pode ser gerenciado, para que
investir?”
MSF for Agile
Software Development
MSF for Agile
Software Development 5.0
− Preparar para inicio do Projeto
Estabilizar os casos de uso
Montar o time
Preparar a infraestrutura para o time
− Planejar o Projeto
Construir o Product Backlog
Criar User Stories
Priorizar User Stories
Estimar User Stories
Definir velocidade do time
Estabilizar Plano de Release
Preparar primeiro Sprint
MSF for Agile
Software Development 5,0
− Planejar Sprint´s
Escolher User Stories
Identificar Tarefas
Estimar Tarefas
Distribuir Tarefas
− Executar Sprint´s
Completar User Stories
Verificar o progresso do time (Burndown)
Finalizar o Sprint
− Preparar próximo Sprint
Suporte metodológico TFS
• Estrutura padrão de artefatos de um
Team Project é totalmente baseado
na metodologia escolhida
• Estratégia de branch e de testes
aderente as boas práticas de
engenharia de software
Hands ON!!!
− Adicionando um Team Project no Team Explorer
− Gerenciando documentos
− Criando e executando queries
− Executando relatórios
− Customizando o Project Portal
Conhecendo o ambiente
Antes do primeiro click
• Quantos usuários vão acessar o TFS?
• Há necessidade de acesso remoto?
• Há necessidade de acesso integrado ao AD da empresa?
• Há necessidade de um servidor de build?
• Precisarei de testes de carga “pesados”?
• Disponibilidade é fundamental para esse ambiente?
CONSULTE SEU ADMINISTRADOR DE REDE, ELE É FUNDAMENTAL PARA O
SUCESSO DO PROJETO DE INSTALAÇÃO
Arquitetura do ambiente
Fonte: Microsoft Download Center
Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
Object Model
Arquitetura do ambiente
Web Services e Databases – parte
1
Fonte:MicrosoftDownloadCenter
AdministrationGuideforMicrosoftVisualStudio2010TeamFoundationServer
Arquitetura do ambiente
Web Services e Databases – parte
2
Fonte:MicrosoftDownloadCenter
AdministrationGuideforMicrosoftVisualStudio2010TeamFoundation
Server
Arquitetura do ambiente
Web Services e Databases – parte
3
Fonte:MicrosoftDownloadCenter
AdministrationGuideforMicrosoftVisualStudio2010TeamFoundationServer
Portas de rede
Fonte: Microsoft Download Center
Installation Guide for Microsoft Visual Studio 2013 Team Foundation Server
Pré-requisitos
Pré-requisitos
www.actiongroup.com.br
Pré-requisitos
www.actiongroup.com.br
Topologias
Servidor único
Fonte: Microsoft Download Center
Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
Simples
Fonte: Microsoft Download Center
Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
Moderada
Fonte: Microsoft Download Center
Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
Complexa Fonte: Microsoft Download Center
Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
Hands ON!!!
− Gerenciando nível de segurança do Team Foundation Server
− Criando um projeto
− Explorando e modificando o Process Guidance
− Habilitando o check-in policies
− Configurando área de classification e iterations
− Segurança das áreas de Classification
Hands ON!!!
− Download de Process Template
− Alteração de Process Template
− Upload de Process Template
Team System Web Access
Hands ON!!!
− Navegando no TSWA
Work Itens
Hands ON!!!
− Criando um WI de Cenário utilizando o Team Explorer
− Criando um WI de Risco utilizando o Microsoft Excel
− Criando um WI de Task utilizando o Microsoft Project
− Querys de WI utilizando Team Explorer
− Querys e gerenciando de WI utilizando Web Access Power Tool
Version Control
Conectando…
Team Foundation Server
Business Analyst
Build Server
Eclipse developer
Tech writer on
Mac OS X
Visual Studio
developer
Test team user
C++ developer
on Linux
Comparando
Recurso Version Control Visual Source Safe
Modelo padrão de check-out Copy-modify-merge Lock-modify-Unlock
Transacional Sim, commit atômico Não
Changesets Sim Não
Acesso remoto http – firewall friendly Windows Share (requer VPN)
Remover arquivos Sim Não
Back end SQL Server Sistema de Arquivos
Segurança Integração ao Windows Não
Integração com issue tracker Sim, completamente integrado aos
WI´s
Não
Check in policy Sim Não
Shelveset Sim Não
Integrando com Visual Studio
Hands ON!!!
− Criando e administrando um Workspace
− Colocando uma solução no Version Control
− Check out e check in em arquivos
− Histórico e comparação de arquivos
− Criando branches, merges e label´s
− Resolvendo conflitos
O papel do Analista
− Itens de trabalho
− Requisitos, cenários
− Links e Anexos
− Ferramentas de Terceiros
− Enterprise Architect, stpSoft,
TfsWord, TeamSpec etc...
Gerente de TI ou de
Projetos
− Plano e Cronograma de
Projeto
− Integração com Project e Excel
− Relatórios de
acompanhamento
− Rastreamento de itens de
trabalho
Planejamento de Projetos
Itens de Trabalho no Excel
Relatórios no Excel
Relatórios no Excel
Planejamento Ágil
Planejamento Ágil
Planejamento Ágil
Test Run Results
Stories Progress
Burndown and Velocity
Bug Status
Test Case Readiness
Stories Overview
Bug Trends
Test Plan Progress
Relatórios de Acompanhamento
Relatório: Desempenho da Equipe
Relatório: Requisitos Implementados
Relatório: Evolução dos Testes
Arquiteto
− Modelagem UML
− Análise de aplicativos legados
− Diagrama de Camadas
− Build Avançado
Modelagem e Arquitetura
− Novo Architecture Explorer
− Explore ativos de código
existentes visualmente
− Diagrama de Camadas
(Layer Diagram)
− Visualize a arquitetura
− Valide o código
− Suporte a UML
− Caso de uso, atividade,
sequência e mais
UML: Diagrama de Atividade
UML: Diagrama de Caso de Uso
UML: Diagrama de Sequência
UML: Diagrama de Componente
UML: Diagrama de Classes
Model Explorer
Architecture Explorer
Dependency Graph
Diagrama de Camadas
Gated Check-In
Extensões para arquitetura
Desenvolvedor
− Análise Estática de
Código
− Validar boas práticas
− Reduzir riscos
− Análise de
Desempenho
− Identificar gargalos
− Depuração Histórica
− “Caixa preta” do
aplicativo
Associe itens de trabalho com cada
check-in para oferecer capacidade de
rastreamento dos requisitos ao código
Atividades do Desenvolvedor
Integrado com políticas de
check-in
Análise Estática
Identifique erros de código e
vulnerabilidades na
segurança
Análise Estática
Análise de Desempenho
Identifique
problemas de
performance
Integrated Unit Testing
Testes de Unidade
Identifique cobertura do
código para determinar a
eficiência dos testes
realizados
Cobertura de Código
Designer
− Cooperação entre designer e
desenvolvedor
− XAML
− Reaproveitamento de design
− Separação de papéis
− Windows, Web, Silverlight
− Prototipação de UI
Profissional de Banco de
Dados
− Controle de versão do banco
de dados
− Gerador de massa de teste
− Testes de unidade de BD
− Refatoração de BD
− Implantação automatizada
Testador
− Gestão/Planejamento de
Testes
− Testes manuais
− Testes Unitários
− Testes Funcionais de UI
• WinForms, WPF, IE
− Testes de Desempenho
• Web sites
• Carga / estresse
Testes Funcionais
Execução e Automação
− Ferramenta independente
− Permite a execução de casos de
teste
− Coleta dados de sistema e logs
de eventos
− Captura imagens de tela e
vídeos
− Automatiza testes de aplicativos
Windows Forms, WPF e Web
Gestão de Laboratórios
− Laboratórios Virtuais
− Automação de
Implantação
− Bibliotecas de VMs
Teste de Carga
Monitoramento dos
componentes da
solução
Terminou!!!

Microsoft ALM = Produtividade

  • 1.
    Visual Studio 2013 MicrosoftALM = Produtividade AdrianoBertucci Especialistade SoluçõesALM adriano.bertucci@konia.com.br
  • 2.
    Típico projeto desoftware “Nossa equipe não produz o quanto gostaríamos” “Nosso cronograma está atrasado” “Nossa equipe de desenvolvimento não se comunica” “Precisamos nos adequar às novas legislações” “Não conseguimos garantir a qualidade das soluções”
  • 3.
    Desafios – ProblemasComuns − Requisitos de negócios não são gerenciados de forma efetiva − Ferramentas e dados dispersos − Testes não alinhados aos objetivos de negócios − Falta de orientações e processos definidos − Problemas de comunicação entre os membros da equipe − Visibilidade limitada do status do projeto para tomada de decisões
  • 4.
    Como esta asaúde do seu projeto? − Cronograma e controle de atividades? − Controle de defeitos? − Quais cenários foram testados com sucesso? − Cobertura do código testado? − Rotatividade do código – estabilização? − Requisições de mudanças gerenciadas adequadamente? − Controle sobre que fontes foram alterados por causa de determinado requisito / correção?
  • 5.
    Solução? ALM! − ALM(Application Lifecycle Management, Gerenciamento do Ciclo de Vida de Aplicações): − É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo requisitos, modelagem, desenvolvimento, construção, testes, manutenção e operações.
  • 6.
     Defeitos –Bug Tracking  Controle de Tarefas  Requisitos de Negócios  Controle de Versão Avançado   Metodologia & Processo de Desenvolvimento  Automação de Compilação (build)  Testes Web  Teste de Carga  Testes Unitários  Análise de Código  Documentação de Projeto  Ferramentas de Arquitetura  Ferramentas para Banco de Dados Relatório em Tempo Real Testador Desenvolvedor Arquiteto Gerente de TI ou de Projetos Analistas de Negócios Profissional de Banco de Dados Designer
  • 7.
    Processo de trabalho Analistade Negócio Gerente de Projeto Time de Desenvolvimento Test Operações Requisição De Mudança Cenários Requerimentos de Negócio Bugs Tarefas Erros em Produção Itens de trabalho são a unidade de comunicação entre as pessoas do time Builds Implantação
  • 8.
    Itens de trabalho Descrição EstadoAtual Atribuição de tarefas Anexos Links para outros Itens de Trabalho Histórico totalmente auditado Personalizável Encerrado Ativo Solucionado Encerrado Ativo Solucionado Proposta Caso de Uso Tarefas Bugs “Os itens de trabalho são unidades de comunicação que fazem parte do processo de desenvolvimento”
  • 9.
  • 10.
  • 11.
    Metodologias “Se não podeser medido, não pode ser gerenciado, e se não pode ser gerenciado, para que investir?”
  • 12.
  • 13.
    MSF for Agile SoftwareDevelopment 5.0 − Preparar para inicio do Projeto Estabilizar os casos de uso Montar o time Preparar a infraestrutura para o time − Planejar o Projeto Construir o Product Backlog Criar User Stories Priorizar User Stories Estimar User Stories Definir velocidade do time Estabilizar Plano de Release Preparar primeiro Sprint
  • 14.
    MSF for Agile SoftwareDevelopment 5,0 − Planejar Sprint´s Escolher User Stories Identificar Tarefas Estimar Tarefas Distribuir Tarefas − Executar Sprint´s Completar User Stories Verificar o progresso do time (Burndown) Finalizar o Sprint − Preparar próximo Sprint
  • 15.
    Suporte metodológico TFS •Estrutura padrão de artefatos de um Team Project é totalmente baseado na metodologia escolhida • Estratégia de branch e de testes aderente as boas práticas de engenharia de software
  • 16.
    Hands ON!!! − Adicionandoum Team Project no Team Explorer − Gerenciando documentos − Criando e executando queries − Executando relatórios − Customizando o Project Portal
  • 17.
  • 18.
    Antes do primeiroclick • Quantos usuários vão acessar o TFS? • Há necessidade de acesso remoto? • Há necessidade de acesso integrado ao AD da empresa? • Há necessidade de um servidor de build? • Precisarei de testes de carga “pesados”? • Disponibilidade é fundamental para esse ambiente? CONSULTE SEU ADMINISTRADOR DE REDE, ELE É FUNDAMENTAL PARA O SUCESSO DO PROJETO DE INSTALAÇÃO
  • 19.
    Arquitetura do ambiente Fonte:Microsoft Download Center Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server Object Model
  • 20.
    Arquitetura do ambiente WebServices e Databases – parte 1 Fonte:MicrosoftDownloadCenter AdministrationGuideforMicrosoftVisualStudio2010TeamFoundationServer
  • 21.
    Arquitetura do ambiente WebServices e Databases – parte 2 Fonte:MicrosoftDownloadCenter AdministrationGuideforMicrosoftVisualStudio2010TeamFoundation Server
  • 22.
    Arquitetura do ambiente WebServices e Databases – parte 3 Fonte:MicrosoftDownloadCenter AdministrationGuideforMicrosoftVisualStudio2010TeamFoundationServer
  • 23.
    Portas de rede Fonte:Microsoft Download Center Installation Guide for Microsoft Visual Studio 2013 Team Foundation Server
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
    Servidor único Fonte: MicrosoftDownload Center Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
  • 29.
    Simples Fonte: Microsoft DownloadCenter Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
  • 30.
    Moderada Fonte: Microsoft DownloadCenter Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
  • 31.
    Complexa Fonte: MicrosoftDownload Center Administration Guide for Microsoft Visual Studio 2013 Team Foundation Server
  • 32.
    Hands ON!!! − Gerenciandonível de segurança do Team Foundation Server − Criando um projeto − Explorando e modificando o Process Guidance − Habilitando o check-in policies − Configurando área de classification e iterations − Segurança das áreas de Classification
  • 33.
    Hands ON!!! − Downloadde Process Template − Alteração de Process Template − Upload de Process Template
  • 34.
  • 35.
  • 36.
  • 37.
    Hands ON!!! − Criandoum WI de Cenário utilizando o Team Explorer − Criando um WI de Risco utilizando o Microsoft Excel − Criando um WI de Task utilizando o Microsoft Project − Querys de WI utilizando Team Explorer − Querys e gerenciando de WI utilizando Web Access Power Tool
  • 38.
  • 39.
    Conectando… Team Foundation Server BusinessAnalyst Build Server Eclipse developer Tech writer on Mac OS X Visual Studio developer Test team user C++ developer on Linux
  • 40.
    Comparando Recurso Version ControlVisual Source Safe Modelo padrão de check-out Copy-modify-merge Lock-modify-Unlock Transacional Sim, commit atômico Não Changesets Sim Não Acesso remoto http – firewall friendly Windows Share (requer VPN) Remover arquivos Sim Não Back end SQL Server Sistema de Arquivos Segurança Integração ao Windows Não Integração com issue tracker Sim, completamente integrado aos WI´s Não Check in policy Sim Não Shelveset Sim Não
  • 41.
  • 42.
    Hands ON!!! − Criandoe administrando um Workspace − Colocando uma solução no Version Control − Check out e check in em arquivos − Histórico e comparação de arquivos − Criando branches, merges e label´s − Resolvendo conflitos
  • 43.
    O papel doAnalista − Itens de trabalho − Requisitos, cenários − Links e Anexos − Ferramentas de Terceiros − Enterprise Architect, stpSoft, TfsWord, TeamSpec etc...
  • 44.
    Gerente de TIou de Projetos − Plano e Cronograma de Projeto − Integração com Project e Excel − Relatórios de acompanhamento − Rastreamento de itens de trabalho
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
    Test Run Results StoriesProgress Burndown and Velocity Bug Status Test Case Readiness Stories Overview Bug Trends Test Plan Progress Relatórios de Acompanhamento
  • 53.
  • 54.
  • 55.
  • 56.
    Arquiteto − Modelagem UML −Análise de aplicativos legados − Diagrama de Camadas − Build Avançado
  • 57.
    Modelagem e Arquitetura −Novo Architecture Explorer − Explore ativos de código existentes visualmente − Diagrama de Camadas (Layer Diagram) − Visualize a arquitetura − Valide o código − Suporte a UML − Caso de uso, atividade, sequência e mais
  • 58.
  • 59.
    UML: Diagrama deCaso de Uso
  • 60.
    UML: Diagrama deSequência
  • 61.
    UML: Diagrama deComponente
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
    Desenvolvedor − Análise Estáticade Código − Validar boas práticas − Reduzir riscos − Análise de Desempenho − Identificar gargalos − Depuração Histórica − “Caixa preta” do aplicativo
  • 70.
    Associe itens detrabalho com cada check-in para oferecer capacidade de rastreamento dos requisitos ao código Atividades do Desenvolvedor
  • 71.
    Integrado com políticasde check-in Análise Estática
  • 72.
    Identifique erros decódigo e vulnerabilidades na segurança Análise Estática
  • 73.
  • 74.
  • 75.
    Identifique cobertura do códigopara determinar a eficiência dos testes realizados Cobertura de Código
  • 76.
    Designer − Cooperação entredesigner e desenvolvedor − XAML − Reaproveitamento de design − Separação de papéis − Windows, Web, Silverlight − Prototipação de UI
  • 77.
    Profissional de Bancode Dados − Controle de versão do banco de dados − Gerador de massa de teste − Testes de unidade de BD − Refatoração de BD − Implantação automatizada
  • 78.
    Testador − Gestão/Planejamento de Testes −Testes manuais − Testes Unitários − Testes Funcionais de UI • WinForms, WPF, IE − Testes de Desempenho • Web sites • Carga / estresse
  • 79.
  • 80.
    Execução e Automação −Ferramenta independente − Permite a execução de casos de teste − Coleta dados de sistema e logs de eventos − Captura imagens de tela e vídeos − Automatiza testes de aplicativos Windows Forms, WPF e Web
  • 81.
    Gestão de Laboratórios −Laboratórios Virtuais − Automação de Implantação − Bibliotecas de VMs
  • 82.
    Teste de Carga Monitoramentodos componentes da solução
  • 83.