TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
Caso de Insucesso – Ato 1
Cliente Empresa buscando espaço no mercado Desenvolvimento + Operações + Teste
Preciso de um App de
Promoção Online
Deve ser Multi-Plataforma
( Android / iOS / WindowsPhone )
Meu concorrente já anunciou que
seu App estará nas 3 lojas em um
mês
Meu budget é limitado.
Temos recursos disponíveis ?
Essas pessoas possuem skill em
java, objective-c e c# ?
Para chegar no budget ....
Podemos reduzir tempo/recurso
da fase de design e/ou teste ?
Como podemos considerar horas
extras com budget limitado?
Desenvolvedor: Isso é impossível, ao
menos que eu não siga todas boas
práticas.
Operação: Minha fila de chamados
está muito grande.
Tester: Se não testar, eu não aprovo o
projeto.
Sim, Isso é DevOps …
1) Motor de Automação 2) Repositório de Código 3) Validação Automatizada 4) Deploy
5) MonitoraçãoCloud
Esteira = Automatize Primeiro + Entregue Sempre
Seleção Tecnologia
#Tecnologia – Desenvolvimento por plataforma
Java
Eclipse
Android
App
C#
Visual Studio
Windows
App
Objective-C
XCode
iOS App
Prós:
• - Experiência nativa e interface de usuário
• - Performance
• - Suporte da Empresa
• - Todas API e hardware disponíveis
Contras:
• - 3 diferentes plataformas / linguagens
• - Codifique 3 aplicações ( bugs / versionamento )
• - Dificuldades com gestão de releases
#Tecnologia – Black Box
‘Black Box
Prós:
• - Código compartilhado
• - Menor tempo de desenvolvimento
• - Gestão de releases
• - Possibilidade de usar frameworks existentes em js/html/css
Contras:
• - Performance ( tradução do código em tempo de execução )
• - Segurança ( javascript )
• - Não usar totalmente API e hardware
• - Criar plugins para cada plataforma
#Tecnologia - Xamarin
Shared C# Code
Android C# UI Windows C# UIiOS C# UI
Prós:
• - Código compartilhado
• - Tempo de desenvolvimento
• - Gestão de releases
• - Perfomance ( código nativo )
• - Cobertura de todas API
Contras:
• - Dependência de um Mac
• para deploy de iOS Apps
• - Não é uma solução:
• “Write once run anywhere”
Implementa código
Implementa testes
2
Commit comentados
Análise estática
de código
Pull-Request
#Esteira em ação
Baseado na evolução da #Esteira
Construa seu processo
Benefícios:
o Código Padronizado
o Todos revisam código de todos
o Todos conhecem todas as áreas da aplicação
o Elimina Retrabalho
o Evita mal entendimento no escopo das atividades
- DoD – Definição de Finalizado
- DoR – Definição de Pronto