Contato com a Ci&T sobre Agile

Contato com a Ci&T

A principal proposta da empresa Ci&T é buscar inovação, rapidez, flexibilidade e valor nos negócios direcionados aos clientes. Seguidores de métodos ágeis e dos conceitos de Lean TI, a Ci&T é fortemente conceituada em competências técnicas e responsáveis pelo sucesso de grandes empresas nacionais, como a Coca-Cola, Pernambucanas, Nestlé e Rede Globo. Anderson Silveira é arquiteto de software da empresa e encarregado por realizar o coaching na disseminação de práticas de engenharia ágil, tais como TDD, one click build e integração contínua.

Apesar de ser um evangelista, eu sou um pouco cético em dizer que nem todas as empresas se encaixam na forma como as metodologias ágeis tratam alguns pontos dentro da corporação, sendo isso uma das primeiras barreiras na adoção de práticas e gerando um conflito cultural dentro das empresas. Diante disso surgem algumas “anomalias” sobre uma má interpretação ou falta de discernimento do que realmente é necessário para sua realidade, caindo em um total descumprimento da essência para que uma determinada prática se originou. O fato de quando nós falamos que as metodologias ágeis são adaptadas, elas não se apoiam na forma como as distorcemos. De modo geral, antes de tudo precisamos conhecer a fundo a cultura da empresa e avaliar se ela esta realmente disposta a passar por tal transformação.

Outro ponto bastante pertinente é a situação do mercado atual, em relação aos clientes e o quanto os mesmos estão dispostos a atuar em um papel de extremo comprometimento com os projetos de software, bem ao controverso do que tradicionalmente era estipulado. No modelo tradicional, toda a informação de levantamento de funcionalidades do software é realizada no início no projeto, então tudo que o cliente precisa fazer é expor todas as suas necessidades. A partir de então, entram em uma fase onde a responsabilidade é passada para a equipe e toda informação/problemas encontrados no caminho é acumulada para a próxima fase, se transformando em um verdadeiro big bang de problemas devido à falta de comunicação constante. No modelo ágil as duas pontas funcionam como uma engrenagem e é fundamental para o sucesso de um projeto. Para isso o cliente precisa estar alinhado com a expectativa de como se espera que ele atue no processo de desenvolvimento.

O fato de funcionar ou não em projetos complexos depende do quão o time está apto para ser ágil. Fazendo a analogia com um jogo de xadrez, fica a critério de como você mexe com as peças durante a sua estratégia de jogo – com o desenvolvimento ágil é a mesma ideia. Vale ressaltar que não existe um roteiro ou uma sequência de passos a serem seguidas no desenvolvimento de software, ou seja, tudo depende de como “jogar” com as praticas ágeis (TDD, IC, Pair Programming, Refactoring, Daily Planning, entre outras) durante o todo desenvolvimento baseado em um time box, conhecida como iteração. A cada iteração você precisa melhorar continuamente o desempenho diante de inspeções e adaptações, sempre baseado em feedbacks constantes eliminando ruídos de comunicação e aprimorando cada vez mais o modelo de coesão da equipe. Parece fácil, mas na prática surgem alguns imprevistos que criam gargalos e impedimentos, que são ainda maiores dentro de uma equipe imatura ou de um coach inadequado.

Sempre é recomendável usar o bom senso ao adotar uma técnica relativamente nova, visto que é muito fácil criar uma grande distorção em cima do assunto. Na minha opinião,  o mercado está evoluindo nesse sentido. No entanto, precisamos ter cautela ao enxergar o quanto isso é viável para o projeto, não com uma visão de riscos internos, mas sim como isso pode abalar a cultura das pessoas envolvidas, afinal os softwares são desenvolvidos por pessoas.

 

Anderson Silveira
Arquiteto de Software – Ci&T


André Celestino