por João Gatto*
São Paulo, novembro de 2015 - Hoje em dia os aplicativos móveis
fazem parte do nosso dia a dia e oferecem aos usuários diversas ferramentas
para cada tipo de necessidade, bem na palma de nossa mão. No último ano, uma
pesquisa da Teleco mostrou que 84% das pessoas no Brasil possuem celulares, e
que 47% desse total usam o celular para acessar a internet. Isto quer dizer que
milhares de apps estão sendo usados constantemente pelos usuários no Brasil, ou
melhor, mundo a fora. Mas as empresas estão preparadas para atender a demanda
criada por esse fenômeno da mobilidade? Como as empresas se adaptam a um
universo no qual uma nova tecnologia é apresentada a cada dia? Como desenvolver
soluções em um ambiente onde os requisitos podem mudar em um piscar de olhos?
As práticas ágeis surgiram para tentar responder a todas essas
perguntas, pois ajudam a diminuir o time-to-market das aplicações por meio da
entrega adiantada e contínua de software e de valor, ou seja, ao final de cada
sprint (idealmente entre duas e quatro semanas) o cliente consegue ver um
produto funcional e de valor agregado em produção. Tudo aquilo que for mais
importante para o negócio do cliente será desenvolvido, testado e entregue
primeiro, trazendo o aumento do ROI e a diminuição nos custos com operação.
É possível também fazer com que os projetos se tornem flexíveis a
mudanças, sejam elas de mercado ou de tecnologia, pois processos ágeis se
adequam às modificações, mesmo essas sendo identificadas tardiamente no
processo de desenvolvimento, trazendo vantagem competitiva para as empresas.
Isso ocorre porque durante os sprints o time do projeto tem a
oportunidade de receber feedback do cliente, do mercado e dentro da própria
equipe e, a partir desse feedback, é possível aprender e identificar mudanças e
melhorias no processo e no projeto.
Para atender a demanda dos projetos seguindo as práticas ágeis e
entregar as aplicações em um curto período, há uma técnica da engenharia de
software chamada Entrega Contínua (Continuous Delivery, em inglês), que
não é usada somente em aplicações móveis, mas sim para todos os tipos de
aplicações, pois reduz os custos eliminando processos desnecessários,
aumentando a qualidade e a velocidade em que os releases são feitas.
Nesta técnica, o time de desenvolvimento cria uma nova
funcionalidade da aplicação e coloca o código em um repositório de controle de
versão. Assim que o sistema de gerenciamento de versão identifica que uma nova
versão do projeto está no repositório, é disparado um processo para rodar os
testes unitários e também fazer o build do projeto e, por fim, uma
mensagem de feedback (sucesso ou falha) é enviada para o Time de
Desenvolvimento.
Assim que os testes unitários e builds são feitos com
sucesso, dispara-se um processo para rodar os testes de aceitação automatizados,
enviando também ao final uma mensagem de feedback (sucesso ou falha) para
o Time de Desenvolvimento.
Quando os testes de aceitação terminam com sucesso, o projeto é
colocado em um ambiente de UAT (User Acceptance Testing) para que o teste de
aceite do usuário seja feito. Nessa etapa, os usuários fazem a validação do
projeto e dão a aprovação para ir para produção. Assim que o usuário valida as
mudanças, as mesmas são colocadas em produção, no processo de release.
Abaixo diagrama ilustrando o processo:
O desenvolvimento de aplicativos móveis está mudando muito rápido.
É preciso usar a Entrega Contínua para entender as diferentes soluções que existem
no mercado, superar os desafios e garantir o domínio sobre os processos de
aplicativos móveis e, com isso, satisfazer o cliente com entregas de qualidade
e coletando seu feedback em tempo real. Usando a entrega continua aliada às
práticas de desenvolvimento ágil, as empresas estão se transformando, criando
concorrência e novos modelos de negócio no mercado.
*João Gatto é
Technical Analyst do Agile Center da GFT Brasil, companhia de Tecnologia da
Informação especializada em Digital para o setor financeiro