Desde que o manifesto ágil foi apresentado para a comunidade em meados de 2001, um dos valores mais propagados tem sido a comunicação entre as equipes de projeto, afirmando que devemos privilegiar “Indivíduos e interação mais que processos e ferramentas”. Esse valor provocou uma revolução junto às práticas de comunicação das equipes de desenvolvimento, trazendo aos times menos formalismos e maior direcionamento às práticas interativas, aproximando dessa forma os universos de desenvolvedores e clientes.
Grande parte das técnicas ágeis, tais como o XP, Scrum, Agile Modeling, Crystal entre outras, entenderam que a comunicação feita de forma direta (olho no olho) é mais efetiva e traz melhores resultados. Para isso, o tempo de espera para a entrega de software funcional deve diminuir, pois o feedback constante do cliente é essencial, facilita e direciona os trabalhos das equipes de desenvolvimento. Outra característica da comunicação em processos ágeis está na disseminação das informações sobre o andamento dos projetos em quadros abertos, conhecidos como irradiadores de informação.
Por meio dos irradiadores de informação, a exposição das atividades do time traz o controle visual da iteração. O ciclo de desenvolvimento geralmente é controlado por um Kanban, onde os membros do time conseguem obter todas as informações necessárias sobre o que está sendo feito pela equipe, os responsáveis pela a execução das atividades e qual o status do trabalho atual da equipe.
Até meados de 2008, membros da comunidade ágil, inclusive participantes do grupo que formulou o manifesto ágil, definiam que o uso de ferramentas automatizadas para gerir a comunicação e o ciclo de vida dos projetos eram “improdutivas” para o contexto do Agile. Em artigos postados por seus autores mais ativos, quase todos rechaçavam a utilização de ferramentas para a comunicação integrada em seus projetos, optando por um menor formalismo na comunicação em nome da garantia da agilidade.
No entanto, enquanto alguns dos praticantes do Agile entendiam que o “mundo do projeto” deveria ser controlado por postits e Kanban (o que reconhecidamente é bastante efetivo à comunicação e controle dos times de desenvolvimento feito de forma local), outros membros da comunidade passaram a se empenhar no desenvolvimento de ferramentas com maior foco no acompanhamento do ciclo de desenvolvimento dos projetos de desenvolvimento como um todo, pensando principalmente nas questões relacionadas à escalabilidade de seus projetos.
Ferramentas Ágeis
Conhecidas por ALM (Application Lifecycle Management), ferramentas com essas características têm por objetivo garantir controle dos trabalhos dos times de desenvolvimento por meio do acompanhamento do processo de desenvolvimento adotado pela equipe. Sua proposta principal está em oferecer maior comunicação dos estágios do processo de desenvolvimento aos times de projeto, sendo mais do que apenas uma solução para a gestão de equipes multidisciplinares ou geograficamente dispersas, mas sim provendo diversos modelos para irradiar informações entre os membros da equipe.
Recentemente, Steve Roppa publicou um texto intitulado “Is There a Place in the Agile World for Tools?”, onde o mesmo contesta o modelo do pensamento agilista de não utilizar ferramentas. Em seu texto, Roppa sugere a seguinte provocação: “Afinal, por que devemos pedir aos nossos clientes para confiarem no software que produzimos enquanto nós mesmos não confiamos naquele que utilizamos?”.
Se inicialmente a adoção das práticas do Agile pelos grandes clientes consumidores de TI foi tímida, segundo fontes como o Standish Group e Gartner em seus relatórios mais recentes, o uso de processos ágeis tende a crescer nos próximos anos. E muito se deve ao uso das ferramentas de ALM.
A Figura 1 apresenta o Quadrante Mágico do Gartner para ferramentas de ALM cujo relatório representa os
principais produtos de mercado para esse tipo de solução. Ele traz como destaque as ferramentas líde ...