Um dos desafios cruciais em grandes organizações como o Itaú é a interdependência entre diferentes áreas. Para superar isso, uma das ações que tomamos foi a adoção do InnerSource como metodologia. O InnerSource oferece inúmeros benefícios para as empresas, destacando-se como uma ferramenta estratégica para melhorar a colaboração interna e a eficiência operacional.
Nele, promovemos uma cultura de compartilhamento de conhecimento, permitindo contribuições de colaboradores de diferentes áreas em projetos além de suas áreas de atuação. Isso elimina a necessidade de esperar por outra equipe para resolver uma dependência: se uma área necessita de uma feature que está sob a responsabilidade de outra, ela pode proativamente contribuir através do InnerSource para resolver a questão. Essa prática não só acelera o desenvolvimento de soluções inovadoras, mas também rompe barreiras organizacionais, fomentando um ambiente de trabalho mais integrado e colaborativo.
Nesse artigo, vamos detalhar como essa metodologia se aplica na prática no Itaú e como ela pode promover a troca de conhecimentos e experiências entre todos os times.
InnerSource na otimização de recursos e habilidades no Itaú
Ao adotar o InnerSource otimizamos a utilização de recursos e reduzimos redundâncias. Esta abordagem maximiza as habilidades e experiências de nossos engenheiros e estimula a aprendizagem contínua e o desenvolvimento profissional. A prática leva a uma maior qualidade de software, com múltiplas perspectivas contribuindo para a revisão e aperfeiçoamento do código.
Nas stacks de tecnologia do Itaú, implementamos o InnerSource da seguinte forma: tudo começa com a criação de uma issue. Nela, podemos discutir novas funcionalidades, melhorias ou problemas. O time gestor do repositório analisa cada issue, podendo aceitá-la, solicitar detalhes adicionais ou recusá-la, conforme a relevância para o produto. Se aceita, uma pull request é aberta pelo contribuidor e associada à issue em questão.
Nossos repositórios abertos para o InnerSource incluem um guia detalhado de contribuição. Nele, temos todo detalhamento do fluxo de InnerSource, o fluxo de trabalho do projeto, as diretrizes de code style, melhores práticas e convenções a serem seguidas. Além disso, disponibilizamos um template padrão para toda a RT para issues de InnerSource, marcando automaticamente cada nova issue com as labels “inner-source” e “awaiting-triage”. Utilizamos também as labels “accept”, “deny” e “need-details” para o processo de triagem.
Uma vez que a issue é aceita e o contribuidor envia a pull request, é vital que os mantenedores dos repositórios conduzam as revisões de código de maneira aberta e inclusiva. Priorizamos respostas rápidas para promover a prática do InnerSource, integrando os contribuidores como parte do time. Durante as revisões, o uso da opção “request changes” no GitHub é essencial, pois nos permite coletar métricas de InnerSource específicas do repositório através da API do GitHub.
Quanto às métricas, com a nossa abordagem de utilizar labels nas issues e request changes nas pull requests, conseguimos mensurar eficientemente o tempo de resposta inicial a uma issue de InnerSource. Além disso, medimos o tempo que a equipe responsável pelo repositório leva para finalizar a revisão de código ou para solicitar mudanças adicionais. Esse processo nos permite avaliar a duração total do ciclo de cada contribuição. Com estas métricas, identificamos tanto os projetos que se destacam na adoção do InnerSource quanto aqueles que necessitam de ajustes.
Para o futuro, planejamos utilizar a gamificação como forma para incentivar ainda mais a prática de InnerSource dentro do Itaú. A implementação do InnerSource no Itaú representa uma mudança cultural significativa, superando barreiras entre áreas e unindo esforços em direção ao reuso e consistência tecnológica. Esta colaboração intensifica nosso foco no cliente, garantindo que todas as ações estejam alinhadas com o propósito de oferecer soluções excepcionais. O InnerSource não só impulsiona a inovação e a eficiência interna, mas também fortalece nosso compromisso de trabalhar de maneira integrada pelo benefício e satisfação do cliente.
Acompanhe mais artigos como este no Itaú Tech.