Inner Source: entenda o conceito, benefícios e como implementar 

Capa do artigo Inner Source: entenda o conceito, benefícios e como implementar com uma mulher branca usando dreads, com óculos e uma camisa de manga comprida bege. Ela está em frente ao notebook com uma das mãos no teclado.
Conheça o conceito de Inner Source, seu paralelo com Open Source, benefícios, desafios e como implementá-lo dentro de empresas de tecnologia.

O Inner Source surgiu a partir do conceito de Open Source, conhecido como “software de código aberto”, mas adaptado ao ambiente empresarial. A Gartner, prevê que 40% das empresas de engenharia de software adotarão o Inner Source até 2026.

Ganhando relevância no nicho de tecnologia e entre pessoas desenvolvedoras, a metodologia possui benefícios e boas práticas a serem seguidas, além de desafios, que iremos aprofundar neste artigo. Acompanhe!

O que é Inner Source?

O conceito de Inner Source compartilha dos mesmos princípios do Open Source, só que pensando em ambientes em empresas. 

Cada time e repositório tem suas próprias regras, boas práticas e guias de contribuição, isso não irá mudar. Porém, os variados times de uma organização podem contribuir em projetos de colegas, facilitando a colaboração e comunicação entre equipes.

Ao colaborar com o código de outros times, é possível aumentar a velocidade das entregas, adicionar novas funcionalidades e corrigir bugs, grandes ganhos para o ciclo de desenvolvimento.

A atitude participativa oferece o espaço e a oportunidade das pessoas desenvolvedoras estarem envolvidas mais ativamente nas decisões técnicas da empresa, uma mudança de paradigma para empresas de tecnologia.

Como funciona o Inner Source?

Por exemplo, em uma empresa que aplica as práticas de Inner Source, o time A disponibiliza componentes reutilizáveis para outras equipes, como o time B. Assim, este time não precisa criar uma funcionalidade similar à já existente, ele pode apoiar e contribuir diretamente no componente do time A.

Além disso, em vez de somente relatar erros encontrados para o time A, como aconteceria em uma empresa com práticas tradicionais, o time B pode corrigir os erros por conta própria.

Dessa forma, os times otimizam seu tempo e esforço, com componentes mais versáteis e reutilizáveis. O resultado é a redução da carga cognitiva, otimizando esforços, proporcionando mais produtividade e evitando a sobrecarga de trabalho de devs.

O que não é Inner Source?

Vale ressaltar também o que não contempla o conceito de Inner Source: 

  • As ferramentas disponibilizadas para gerenciar repositórios possibilitam o processo, mas não necessariamente que a colaboração aconteça.  
  • O desenvolvimento não é aberto para contribuições externas, o Inner Source é um compartilhamento dentro da própria empresa.

Antes de tudo, o Inner Source fomenta a prática de desenvolvimento de software dentro de uma empresa com empoderamento das pessoas colaboradoras, transparência e senso de comunidade. Por isso, não existe só uma forma de implementar a prática, cada empresa terá um cenário diferente.

E o que é Open Source?

Open Source é um movimento tecnológico a favor da descentralização e colaboração na produção de software e na forma que é disponibilizado ao público.

Nos projetos Open Source, qualquer pessoa visualiza, modifica, contribui e distribui o código-fonte, ou seja, a comunidade participa da solução de problemas e do processo de inovação do software ativamente

Inclusive, a ideia de colaboração faz parte da essência da internet: estima-se que 90% da internet rode no sistema operacional Linux e que de 65% a 95% dos códigos sejam de terceiros. Quando se fala em linguagem não é diferente: as mais populares do mundo são Open Source.

Isso implica em um grande impacto na engenharia de software e no desenvolvimento, afinal as principais linguagens, ferramentas ou banco de dados são Open Source.

Consuma inovação,
comece a transformação

Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios

Por que estabelecer práticas de Inner Source?

A pesquisa State of Inner Source – respondida por devs, profissionais de engenharia de software, especialistas em Inner Source, além de pessoas executivas – traz um panorama interessante sobre como a prática está sendo adotada ao redor do mundo:

  • Do ponto de vista da empresa incentivar práticas Inner Source, 76% consideram que a empresa busca o compartilhamento de conhecimento entre pares. 74% também consideram que a empresa busca remover gargalos e silos que atrapalham o dia a dia do desenvolvimento. Já 69% consideram o reuso como motivação para colocar o Inner Source em prática.
  • Do ponto de vista do time, 54% observa que as práticas ajudaram a conhecer mais pessoas na empresa. 49% sentiram mais satisfação no trabalho, e 39% identificou mais novos recursos que não tinham percebido antes e a mesma porcentagem também percebeu a melhora na qualidade do software.

Portanto, podemos concluir que práticas de Inner Source incentivam um ambiente colaborativo de desenvolvimento de software com as seguintes características:

  • enriquece a troca de conhecimento e formação de autoridades técnicas;
  • incentiva uma cultura de contribuições, críticas e opiniões;
  • proporciona mais satisfação para as pessoas colaboradoras.

Esse conjunto de aspectos leva a códigos de mais qualidade e, consequentemente, softwares melhores, garantindo resultados melhores para as empresas, além de maior satisfação de clientes. 

Por que implementar o Inner Source? 

Após conhecer mais detalhes sobre os conceitos, quais são as maiores vantagens de implementar o Inner Source em uma empresa? Acompanhe abaixo:

Melhor comunicação

As práticas do Inner Source derrubam as barreiras entre times da mesma empresa, aproximando profissionais de desenvolvimento, facilitando a comunicação e incentivando a colaboração. 

Além disso, é possível quebrar silos e diminuir gargalos, criando uma cultura saudável de cooperação e transparência, permitindo uma comunicação mais clara e objetiva.

Incentivo ao reuso

Com práticas de reuso, times de tecnologia otimizam tempo e esforço para se dedicarem a atividades mais estratégicas. Aliás, o próprio onboarding de novas pessoas pode se tornar mais rápido e menos custoso com o uso de práticas de Inner Source.

Aliás, uma das principais vantagens do Inner Source é o aumento do reuso do código. Afinal, a falta de transparência e de colaboração é um dos motivos que impede a reutilização de códigos e componentes dentro da empresa.

Além de não saber da existência de códigos em outros times, muitas vezes o próprio ambiente dificulta o compartilhamento. Pois isso, a importância de estabelecer práticas de compartilhamento reflete em mais transparência sobre o que outros times estão produzindo.

Incentivo à inovação

Uma empresa que implementa práticas de compartilhamento de conhecimento e estimula a autonomia incentiva a criatividade, tanto para criar novas funcionalidades quanto resolver problemas de formas inovadoras. Afinal, novas perspectivas sob diferentes ângulos proporcionam mais inovação para o software.

Mais qualidade no código

Em empresas que praticam Inner Source, o código é revisado por várias pessoas desenvolvedoras, o que facilita a identificação de falhas e na sua rápida solução. 

Além disso, existe outro fator: a visibilidade. Devs mostram suas soluções criativas e inovadoras para toda a empresa buscando reconhecimento, mas, ao mesmo tempo, os seus erros são apontados em público – por isso, tendem a tomar cuidado redobrado.

O resultado são códigos melhores e mais seguros, pois a comunidade também pode identificar vulnerabilidades mais cedo e encaminhá-las para o time de segurança.

Documentação robusta

O grande volume de acesso ao código exige uma documentação técnica mais completa e atualizada, auxiliando todas as pessoas usuárias desse software. Uma documentação robusta facilita a compreensão das regras de negócio e das decisões técnicas e padrões das aplicações.

Desafios da implementação do Inner Source

Um dos desafios tanto do Inner Source quanto do Open Source é lidar com diversos componentes, estratégias e ferramentas, mas podemos destacar outros mais:

Cobrança por resultados, não entregas

Inner Source exige uma mudança de cultura dentro de uma empresa, principalmente das pessoas gestoras. Se antes o foco era na entrega de resultados, agora o objetivo é no valor das entregas.

Além de mudar o foco do volume de código entregue, é preciso repensar como as responsabilidades serão divididas. Afinal, o grande destaque dessa prática é justamente a descentralização e o trabalho colaborativo, visando a qualidade e não a quantidade.

Relação entre pessoas colaboradoras

Quando trabalhamos com um time específico, com pessoas já conhecidas, pode ser mais fácil coordenar um projeto. A inclusão de indivíduos de times diferentes pode causar algum atrito, principalmente porque essas pessoas que não se conhecem tão bem estarão trabalhando juntas.

Por isso, o alinhamento e o foco no objetivo final – a construção de um código melhor – precisam estar ainda mais claros.

Dificuldade com o sistema legado

Os sistemas legados são defasados e de manutenção complexa. Por isso, práticas de Inner Source são difíceis de adotar neste cenário, afinal são poucas as pessoas desenvolvedoras com conhecimento suficiente para contribuir.

Por exemplo, o legado pode ter um fluxo de trabalho que não facilita a contribuição e até mesmo não possuir as ferramentas que garantem transparência para o processo.

Porém, quando a empresa resolve fazer a modernização de sistemas legados, pode ganhar muito ao adotar o Inner Source na nova plataforma.

Maturidade cultural

Nem sempre na prática iremos encontrar um ambiente maduro o suficiente para as pessoas desenvolvedoras contribuírem por conta própria ou valorizarem o senso de comunidade dentro da empresa.

A cultura da empresa também deve oferecer o suporte para receber as práticas de Inner Source. O incentivo à colaboração entre times e criação de guildas técnicas para discussões podem ser bons primeiros passos para uma cultura mais alinhada à metodologia.

Priorização de outras tarefas

Já para devs, o grande desafio é justamente não ter tempo para se dedicar à colaboração que o Inner Source exige. Como as demandas diárias são a prioridade, acaba restando pouco tempo para devs contribuírem e a iniciativa acaba sendo despriorizada.

Além de incentivar, o Inner Source deve estar no DNA da empresa e das pessoas desenvolvedoras, que estão juntas colaborando para entregas de maior qualidade.

Boas práticas para implementação do Inner Source

O Inner Source importou práticas e metodologias do Open Source, que já foram testadas e consagradas. Confira algumas delas:

  • Code Review (Revisão de código): pessoas revisoras avaliam o código e possuem a missão de encontrar e corrigir erros, com o objetivo de melhorar a legibilidade e a uniformidade.
  • Visibilidade: o código está disponível para todas as pessoas da empresa, por isso é preciso ter ferramentas que possibilitem essa visibilidade, como plataformas de desenvolvimento.
  • Testes: são feitos de forma mais abrangente e por mais pessoas, tornando o código ainda mais testado e refinado.
  • Documentação de software: para ser consultado por tantas pessoas, é primordial uma documentação completa e atualizada, acompanhando as atualizações do software.
  • CI/CD: a adoção de abordagens ágeis tem como objetivo automatizar o desenvolvimento de software, como testes, construção e entrega de software.
  • Issue Tracker: a prática de manter o registro de erros e reclamações de pessoas usuárias facilita a correção das falhas do código.

Inner Source no Brasil

No Brasil, o Itaú Unibanco e a Zup Innovation colocam em prática o conceito de Inner Source buscando auxiliar nos desafios do dia a dia dos times de desenvolvimento e impactar positivamente a experiência de clientes. 

Ao permitir que o código cresça e seja aprimorado de forma colaborativa, o Inner Source resulta em soluções mais ágeis e eficazes para os desafios do desenvolvimento.

Acompanhe o podcast onde discutimos sobre a experiência:

Em relação ao mundo, existem inúmeras iniciativas de Inner Source bem-sucedidas. Na comunidade InnerSource Commons estão disponíveis casos de implementações em grandes empresas como Microsoft, Adobe, American Airlines, dentre outras, além de boas práticas para implementar o Inner Source.

Como plataformas de desenvolvimento fomentam o Inner Source

A StackSpot é uma plataforma de desenvolvimento IA-first com foco na modernização de sistemas legados. A plataforma agiliza a criação, distribuição e reutilização de padrões técnicos, criando um software confiável com uma arquitetura executável.

Alinhada ao conceito de Inner Source, a StackSpot possui funcionalidades que incentivam o reuso e a colaboração, como o uso do Workspace para os times trabalharem de forma colaborativa durante o ciclo de desenvolvimento.

Conheça mais detalhes sobre a plataforma de desenvolvimento no vídeo.

Conclusão

A prática do Inner Source usa da metodologia do Open Source para incentivar o reuso para elevar a qualidade técnica dos times de uma empresa. Enquanto isso, o tempo das pessoas desenvolvedoras é otimizado, permitindo o foco em atividades de maior impacto e inovação.

Ao disponibilizar o código para todas as pessoas da empresa, é possível entender que muito além de um conjunto de práticas, o Inner Source fomenta uma mudança cultural voltada para o senso de comunidade e colaboração entre os times.

Mesmo enfrentando resistência cultural, sistemas legados e volume de entregas exigidas de times de desenvolvimento, o Inner Source é capaz de melhorar a qualidade de software com uma comunicação clara, documentação atualizada, incentivo ao reuso e foco na inovação.

Quer conhecer mais sobre como uma plataforma de desenvolvimento, como a StackSpot, promove o Inner Source? Entre em contato com nosso time de especialistas para saber mais.

Referências

Consuma inovação,
comece a transformação

Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios

Related posts

*Material em Inglês

Baixe grátis o eBook
e descubra caminhos para evoluir sua empresa