BLOG

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

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.

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

Posts relacionados

Continue explorando a StackSpot AI

Ícone de uma Folha de Documentos, na cor laranja vibrante, sobre fundo transparente.

Cases

Confira como impulsionamos negócios com soluções que economizam tempo.

Ícone de um Livro, na cor laranja vibrante, sobre fundo transparente.

Imprensa

Confira as últimas notícias, conteúdos e destaques da StackSpot na mídia.

Ícone de uma Pasta de documentos, na cor laranja vibrante, sobre fundo transparente.

Docs

Tudo o que você precisa para dominar a StackSpot AI, de forma simples e em um só lugar.

Ícone de uma Pessoa representando um Usuário, na cor laranja vibrante, sobre fundo transparente.

Sobre

Sua plataforma de agentes inteligentes para todo o ciclo de desenvolvimento.

Receba a nossa newsletter

Compartilhamos insights, artigos e conteúdos relevantes sobre tecnologia. Uma vez por mês, sem encher sua caixa de entrada.