A área de tecnologia e desenvolvimento de software está constantemente evoluindo. A cada ano novas metodologias e novas ferramentas são criadas para melhorar o processo de desenvolvimento.
Pode parecer loucura, mas um projeto, especialmente um de desenvolvimento de software, é muito semelhante ao funcionamento do corpo humano, onde cada órgão tem as suas responsabilidades. No desenvolvimento de software não é diferente, cada ferramenta tem uma função específica.
Já houveram diversas tentativas de fazer uma ferramenta única que cuidasse de todas as funções necessárias, porém a realidade é que as melhores ferramentas no mercado são as que focam em apenas uma ou duas funções. Por esta razão e devido à volatilidade da tecnologia, em um projeto de desenvolvimento de software geralmente se utilizam diversas ferramentas.
Vamos analisar um cenário bem típico, o de uma equipe desenvolvendo um sistema para o ambiente Web. Essa equipe precisa gerenciar uma série de aspectos do seu trabalho, e para cada uma delas geralmente usa-se uma ferramenta diferente. Por exemplo:
- Para o gerenciamento de tarefas pode-se utilizar o Trello, Jira, Asana ou similar
- Para o gerenciamento de códigos as ferramentas mais populares são o Github, Bitbucket ou Gitlab
- Para a realização de integrações contínuas existem o Jenkins, Codeship, e Buildkite
- Para a análise de qualidade de código se utilizam ferramentas como o Codeclimate e Codacy
- Para a compilação do software ferramentas como ant, grunt, e Deploybot podem ser utilizadas
- Para o acompanhamento da performance dos servidores o Newrelic ou ferramentas do fornecedor de cloud como Amazon são as opções mais utilizadas
A lista pode se estender para várias outras ferramentas dependendo das funcionalidades específicas do projeto em desenvolvimento.
É neste aspecto que um projeto se assemelha a um corpo humano, mais especificamente ao de um atleta de alta performance (estamos em ano olímpico, eu não podia perder a chance). Imagine que você seja um treinador e queira desenvolver o próximo Usain Bolt. Você vai monitorar todos os aspectos do corpo do atleta, usando diversos sensores e equipamentos para determinar formas de treinamentos que ajudem a aprimorar os aspectos mais importantes e decisivos para otimizar a performance do atleta. Em um projeto de software não é muito diferente, utilizamos ferramentas para medir a performance do sistema, determinar a qualidade do código que está sendo desenvolvido, gerar testes para avaliar o funcionamento do software, e monitorar o comportamento da equipe. A observação contínua desses aspectos durante o desenvolvimento do software permite que possíveis problemas sejam identificados antecipadamente, e que melhores e mais ágeis decisões sejam tomadas para que o projeto atinja os níveis mais altos de qualidade.
Vivemos numa realidade tecnológica que nos permite coletar, armazenar e processar quantidades obscenas de informação, tudo graças ao barateamento do espaço e dos serviços de armazenamento de dados na nuvem e teorias abraçadas pelo jargão da Big Data. Então porque não vemos nossos projetos como um organismo (ou uma máquina) que pode ser monitorado e aprimorado constantemente? Podemos coletar informações de todas estas fontes de dados, armazená-las, processá-las e tirar imenso conhecimento disto tudo. Esta é a ideia que move o iMasters Planrockr. Criamos uma aplicação que se integra com as ferramentas mais populares do mercado e que pode ser atualizada conforme novas ferramentas e demandas vão surgindo.
Com o iMasters Planrockr o gerente de projetos vai poder facilmente responder aquelas questões que tomam seu tempo e seu sono, como:
- Vamos conseguir entregar as tarefas no prazo estimado?
- Como está a performance da equipe? Estamos entregando tarefas em qual velocidade?
- Qual é a qualidade do código que está sendo desenvolvido?
- Algum dos membros da equipe está com problemas de performance? Suas tarefas estão demorando mais do que a média? A sua qualidade está caindo? Posso alocar mais tarefas para alguém?
A equipe também se beneficia, recebendo informações mais precisas sobre a sua performance e a de seus colegas, vendo o projeto como um todo e acompanhando a sua evolução e conhecendo novas maneiras e ferramentas para melhorar o seu trabalho.
Essa é a nossa missão, gerar informações relevantes sobre os projetos para otimizar a tomada de decisões e centralizar os dados de diversas ferramentas essenciais para o desenvolvimento de software em um único lugar. Convidamos você a se inscrever através da nossa página e acompanhar a evolução do iMasters Planrockr.
Texto publicado originalmente na Revista iMasters #17