Gustavo Malheiros
gustavo.malheiros@outlook.com
gustavomalheiros.wordpress.com
@gumalheiros
w w w . p a n t a n e t . n e t
Trabalha com Consultoria, Análise e Desenvolvimento de sistemas
Formado em Análise de Sistemas
Pós Graduado com “MBA em Gestão Empresarial”
Certificação MCSD em ALM (Application Lifecycle Management).
Fundou o Grupo PantaNet
MTAC (Microsoft Technical Audience Contributor)
www.7focus.net
O mundo mudou
Desafios
Little or no authentic
connection to end consumer
Customer/Client
Systems of engagement (SoE)
Systems of record (SoR)
• Mobile
experiences
• Cloud
backend
• Monolythic
LOB apps
• On-premises
Agile Project Planning
Desenvolvimento Ágil
Xtreming Programming
SCRUM
New Dashboards
Integração Contínua
Distributed
Build
Build Windows
Workflow Integration
Test Planning
Test Execution
Manual Test Runner
Test Impact
Analysis
Coded UI Test
Historical Debugging
Gated Checkin
Activity Diagram
Modeling Projects
Controle de Versão Architecture
Explorer
Sequence Diagram
Component Diagram
Use Case Diagram
Layer Diagram
Scalability ++
TFS Administration
w/MMC
Arquitetura de Software
DevOps
ALM
Application Lifecycle Management
Gerenciamento do ciclo de vida da aplicação
“Estratégia de ALM permite com ajuda de processos
e ferramentas gerenciar todas as etapas do
Desenvolvimento de Software.”
ALM
Etapas
- Planejamento
- Gestão de Requisitos
- Desenvolvimento
- Testes
- Build
- Deploy
- Manutenção e Operação
- Monitoramento
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
ALM
Vantagens
- Melhorar a comunicação e colaboração do meu time
- Previsibilidade do negócio e do software
- Gerenciar todos os processos do time
- Aumento da produtividade
- Controle contínuo de qualidade
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
Ciclo de ALM
4
3
Inicia com uma idéia – e um
planejamento de como tornar essa
ideia em realidade …
Manage work
Develop + Test 1
Plan
Project starts
PlanTrack progress
Definir processo
Visão
Requisitos
Execução
Backlog, tarefas
Estimativas
Ferramentas
Write Code
Unit Testing
2
Build
Version Control
Build Verification
Release
Inicio da iteração, developers
começam a transformar idéias em
funcionalidades …
Develop + Test
Técnicas de código
Design Patterns
Arquitetura
DDD, TDD
Checkin, chekout
Ratreabilidade
BranchesDeploy
Integração Continua
Cloud
Load Testing
Integration testing
environment
Automated functional
testing environment
3
Pre-production
environment
Staging
environment
Monitor + Learn
Quando todos testes passaram, a build is publicada nos
ambientes de testes para cada estágio
Release
Aprender e entender como os usuarios usam a app, como
reparar rapidamente bugs
Monitor + Learn
4
Monitor
Feedback
Plan the next iteration
Visual Studio Application Insights
Detect issues, diagnose crashes and track usage in your web and mobile apps
Announcing: Public Preview on Azure Preview Portal
Monitor ASP.NET, Java and other web apps and services
Support for Android, iOS and Windows mobile apps
Pricing details available now including free tier
Check it out!
http://azure.microsoft.com/en-us/services/application-insights
Lean
Agile
Scrum
XP
Framework de gestão ágil de projetos
Papéis e cerimônias, melhoria
contínua dos times, entrega rápida,
limitar trabalho à capacidade
Cultura ágil, mindset e práticas
Eliminar desperdício
Respeitar as pessoas, foco
principalmente em P&D
Otimizar todo o fluxo
Foco na otimização de todo o
processo de negócios
Práticas de engenharia
Trazer qualidade para dentro do desenvolvimento
– Automação, integração contínua, revisão por
pares etc.
Práticas Ágeis
Project Server Microsoft System Center Microsoft Azure SharePoint
Source control
Agile planning
Test case management
Build automation
Continuous deployment
Release management
Load testing
Lab management
Feedback management
Team collaboration
Application telemetry
Ferramentas
Runtimes + Languages
.NET (C# / VB)
HTML/JS
C++
Others
Tools
Others
Code
Browser-based applications
Visual Studio tools for
Apache Cordova
Visual C++ for cross-platWin32
Desktop apps – WPF
Universal Windows Apps
.NET
.NET and Xamarin
Share app logic across platforms
100% APIs exposed
C# + XIB C# + AXML C# + XAML
Native UI Native UI Native UI
Cordova tooling in
Visual Studio
Hybrid-HTML apps
Cordova tooling in Visual Studio
Black Box
Microservices
Architecture principles
Organization principles “Any organization that designs a system will produce
a design whose structure is a copy of the
organization's communication structure.”
– Melvyn Conway, 1967
Source: Martin Fowler - Microservices paper
IT Admin
Developers
Your Datacenter
VMs in
dev & test
environment
Developers
IT Admin
Gustavo Malheiros
gustavo.malheiros@outlook.com
gustavomalheiros.wordpress.com
@gumalheiros
Obrigado!!

Introdução ao ALM e a visão da Plataforma Microsoft para developers.

  • 1.
  • 2.
    w w w. p a n t a n e t . n e t Trabalha com Consultoria, Análise e Desenvolvimento de sistemas Formado em Análise de Sistemas Pós Graduado com “MBA em Gestão Empresarial” Certificação MCSD em ALM (Application Lifecycle Management). Fundou o Grupo PantaNet MTAC (Microsoft Technical Audience Contributor) www.7focus.net
  • 4.
  • 5.
  • 7.
    Little or noauthentic connection to end consumer Customer/Client Systems of engagement (SoE) Systems of record (SoR) • Mobile experiences • Cloud backend • Monolythic LOB apps • On-premises
  • 11.
    Agile Project Planning DesenvolvimentoÁgil Xtreming Programming SCRUM New Dashboards Integração Contínua Distributed Build Build Windows Workflow Integration Test Planning Test Execution Manual Test Runner Test Impact Analysis Coded UI Test Historical Debugging Gated Checkin Activity Diagram Modeling Projects Controle de Versão Architecture Explorer Sequence Diagram Component Diagram Use Case Diagram Layer Diagram Scalability ++ TFS Administration w/MMC Arquitetura de Software DevOps
  • 12.
    ALM Application Lifecycle Management Gerenciamentodo ciclo de vida da aplicação “Estratégia de ALM permite com ajuda de processos e ferramentas gerenciar todas as etapas do Desenvolvimento de Software.”
  • 13.
    ALM Etapas - Planejamento - Gestãode Requisitos - Desenvolvimento - Testes - Build - Deploy - Manutenção e Operação - Monitoramento
  • 14.
    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
  • 15.
    ALM Vantagens - Melhorar acomunicação e colaboração do meu time - Previsibilidade do negócio e do software - Gerenciar todos os processos do time - Aumento da produtividade - Controle contínuo de qualidade
  • 16.
    Plan 1 Monitor +Learn ReleaseDevelop + Test 2 Development Production Ciclo de ALM 4 3
  • 17.
    Inicia com umaidéia – e um planejamento de como tornar essa ideia em realidade … Manage work Develop + Test 1 Plan Project starts PlanTrack progress Definir processo Visão Requisitos Execução Backlog, tarefas Estimativas Ferramentas
  • 18.
    Write Code Unit Testing 2 Build VersionControl Build Verification Release Inicio da iteração, developers começam a transformar idéias em funcionalidades … Develop + Test Técnicas de código Design Patterns Arquitetura DDD, TDD Checkin, chekout Ratreabilidade BranchesDeploy Integração Continua
  • 19.
    Cloud Load Testing Integration testing environment Automatedfunctional testing environment 3 Pre-production environment Staging environment Monitor + Learn Quando todos testes passaram, a build is publicada nos ambientes de testes para cada estágio Release
  • 20.
    Aprender e entendercomo os usuarios usam a app, como reparar rapidamente bugs Monitor + Learn 4 Monitor Feedback Plan the next iteration
  • 21.
    Visual Studio ApplicationInsights Detect issues, diagnose crashes and track usage in your web and mobile apps Announcing: Public Preview on Azure Preview Portal Monitor ASP.NET, Java and other web apps and services Support for Android, iOS and Windows mobile apps Pricing details available now including free tier Check it out! http://azure.microsoft.com/en-us/services/application-insights
  • 22.
    Lean Agile Scrum XP Framework de gestãoágil de projetos Papéis e cerimônias, melhoria contínua dos times, entrega rápida, limitar trabalho à capacidade Cultura ágil, mindset e práticas Eliminar desperdício Respeitar as pessoas, foco principalmente em P&D Otimizar todo o fluxo Foco na otimização de todo o processo de negócios Práticas de engenharia Trazer qualidade para dentro do desenvolvimento – Automação, integração contínua, revisão por pares etc. Práticas Ágeis
  • 24.
    Project Server MicrosoftSystem Center Microsoft Azure SharePoint Source control Agile planning Test case management Build automation Continuous deployment Release management Load testing Lab management Feedback management Team collaboration Application telemetry Ferramentas
  • 25.
    Runtimes + Languages .NET(C# / VB) HTML/JS C++ Others Tools Others Code
  • 26.
    Browser-based applications Visual Studiotools for Apache Cordova Visual C++ for cross-platWin32 Desktop apps – WPF Universal Windows Apps .NET
  • 27.
    .NET and Xamarin Shareapp logic across platforms 100% APIs exposed C# + XIB C# + AXML C# + XAML Native UI Native UI Native UI
  • 28.
    Cordova tooling in VisualStudio Hybrid-HTML apps Cordova tooling in Visual Studio Black Box
  • 29.
    Microservices Architecture principles Organization principles“Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure.” – Melvyn Conway, 1967 Source: Martin Fowler - Microservices paper
  • 30.
    IT Admin Developers Your Datacenter VMsin dev & test environment
  • 31.
  • 32.

Notas do Editor

  • #2 - Apresentação minha
  • #3 - Apresentação minha
  • #4 Dar uma visão geral Entender o conceito E as fases relacionadas O que precisa para adotar
  • #5 O mundo mudou E com essa transformação também precisamos mudar a forma de desenvolver software Muitas mudanças acontecendo Exemplo da crise
  • #9 De aplicações modernas… Onde existe um foco…
  • #10 As características dessas aplicações são variadas:
  • #11 Mas essas aplicações precisam também de um gerenciamento moderno… Onde podemos aplicar esses conceitos de gestão do ciclo de desenvolvimento Esses 3 conceitos são fundamentais hoje Isso fica num ciclo constante.
  • #12 Aí entra o conceito de ALM
  • #13 Levando ao pé da letra... Traduzindo Existe a junção de gestão de negócio com engenharia de software Estratégia ou processo de ALM Precisa de processos e ferramentas integradas para gerenciar. O que? Etapas para o seu projeto
  • #14 E quais são as etapas
  • #16 Quais são as vantagens Definir estratégias para o seu projeto
  • #24 Conjunto de técnicas, princípios e valores Entregar valor continuo para o cliente Criar uma organização que aprende Criar ambiente de Melhoria continua
  • #33 - Apresentação minha