Concrete Logo
Hamburger button

Como desenvolver um produto digital do jeito certo

  • Blog
  • 15 de Janeiro de 2015
Share

Conforme já falamos em outros posts aqui no Blog, nosso jeito de desenvolver produtos digitais envolve três fases, que formam um ciclo: descobrir, desenvolver e gerenciar. Recentemente, falamos aqui sobre como descobrir o produto certo a ser desenvolvido. Agora, vamos passar à fase de desenvolvimento em si. Como desenvolver o produto certo? Quais ferramentas, práticas, papéis e plataformas são necessárias para que um aplicativo tenha sucesso? Tudo o que aprendemos até agora faz sentido para todos os produtos digitais, mas ultimamente temos aplicado com mais ênfase no desenvolvimento de produtos mobile.

Antes de tudo, é preciso ter um time. Nosso time é formado por sete papéis essenciais no desenvolvimento. Falamos sobre seis deles aqui, e recentemente descobrimos que é preciso também um profissional de Quality Assurance (QA). Neste time, quem tem a visão geral do produto, considerando o que tem que ser feito e em que tempo, é o Product Owner (PO). Este profissional pode vir de diversas áreas, mas tem que ter algumas características importantes, como empatia com o mercado alvo, ética, capacidade de comunicação. O papel do Scrum Master é garantir que o desenvolvimento ágil seja aplicado de forma correta, organizando os dailys, controlando o tempo dos sprints, etc.

Papéis

 

Os coders são aqueles que realmente fazem o produto, que entendem dos códigos e da tecnologia. O DevOps é o responsável por codificar a infraestrutura, o growth hacker por trazer usuários que ajudem da validação das hipóteses e o profissional de quality assurance (QA) por realizar todos os testes necessários para que o produto seja lançado com o mínimo de erros possível. Por fim, o profissional de User Experience, ou UX, é o responsável pelo design do produto, mas não só isso. É dever dele também entender quais são as necessidades do usuário.

Aliadas a esses papéis estão nove práticas. Algumas se misturam com os papéis, como execução de produto (PO), User Experience, Quality Assurance e Growth Hacking, e outras são apenas práticas, mas todas contribuem para aumentar as chances de sucesso do seu produto. Além das quatro já citadas, enumeramos também engenharia ágil e cloud, essenciais para que o produto evolua de forma rápida e escalável; descoberta de cliente e produto, processos por meio dos quais você valida o problema a ser resolvido e a visão inicial do produto; gestão de produto, que envolve ciclos de inspeção e comunicação durante o desenvolvimento; métricas, porque elas vão te ajudar a validar suas hipóteses e fazer as iterações que você precisa; e, por fim, cultura e organização, porque se não eliminarmos a cultura do medo não conseguiremos fazer produtos.

Práticas

 

Depois de evidenciados os papéis e práticas, chegamos à plataforma, que chamamos recentemente de MobileFirst. A base de todo o nosso desenvolvimento é o rígido controle de qualidade, baseado em testes e mais testes. Para isso, usamos integração e deployment contínuos, controles de versão, monitoramento e bastante analytics. Para a maior parte do desenvolvimento, utilizamos ferramentas e plataformas open source. Para integração e deployment contínuos, controle de dependências, build automatizado e versionamento, por exemplo, usamos Jekins, Maven, Bots, Cocoapods, Mobrelease (criada por nós) e uma estação de integração contínua MacOS. Para os testes unitários, JUnit e Specta.

Para os testes automatizados em emuladores e devices usamos Cucumber e Calabash, além do TestCloud, nossa plataforma de testes e hardware com geração e execução de testes, e de estações de QA Android e iOS. Para testes de performance e robustez, a Newrelic, o Jmeter, o Crashlytics e o famoso Google Analytics são bons aliados. Por fim, o Jmeter é o responsável pelos nossos testes de integração. Tudo isso é organizado em dashboards e relatórios periódicos, que promovem boas análises das causas raiz dos problemas e indicam rapidamente o que deve ser alterado e refeito. Assim, o produto está em constante iteração e as chances de erros são mínimas.

testcloud

Também faz parte do desenvolvimento um módulo de gestão do portfólio e dos produtos, que chamamos de governança. Para isso, usamos User Experience, product Discovery, monitoramento e analytics e, claro, growth hacking. Dentre as ferramentas que utilizamos estão Jira, Greenhopper e Google Docs para gestão de governança e produto. Neste ponto, promovemos reuniões mensais com comitê de investimento, criamos metas de contabilidade de inovação e usamos templates de investir, manter ou fechar e de orçamento.

Outras ferramentas são Invision e Parse para product Discovery; Google Analytics, ADX, Google Tag Manager, Crashlytics e NewRelic para monitorar conversão, crashes e performance; Hubspot, ADX, Flurry, Distimo e AppAnnie para aquisição, retenção, ativação e otimização de app stores; e, por fim, Invision e guidelines de UX para user experience.

Enfim, reforçamos que desenvolvimento de produtos digitais, inclusive de aplicativos mobile, é um processo de constante aprendizado. A cada dia surge algo novo, ferramenta nova, prática nova e insights novos. Vivemos em um ambiente de constante evolução e isso é ótimo! Se você tiver alguma coisa a acrescentar, discorda de algum ponto ou quer saber mais sobre como fazemos aqui, é só deixar seu comentário aqui embaixo. Até a próxima!