Saltar al contenido principal

Daguva

El Inner Source SI funciona!

Independientemente de lo que hayas escuchado en internet (posiblemente de un influencer tech con el cabello largo, lentes y que no le gusta para nada ReactJS), inner source es real y es una excelente forma de fomentar la colaboración e innovación dentro de tu empresa, al igual que lo hace el software open source en la comunidad global.

inner-source

# ¿Qué es Inner Source?

Inner source trae el modelo de open source a las empresas, permitiendo que los equipos colaboren en proyectos internos. Promueve la transparencia y el desarrollo compartido, ayudando a los equipos a mejorar sistemas de forma conjunta y evitar el trabajo duplicado.

# ¿Por qué tanto escepticismo?

Aunque “odio” quizá sea una palabra fuerte, hay quienes se muestran escépticos respecto a los beneficios del inner source. El problema principal es que muchos lo usan como justificación para su elección de tecnologías. Los críticos argumentan que el inner source no vale la pena porque creen que nadie contribuirá a sus proyectos. Dentro de una organización, todos tienen sus propias tareas y prioridades, y a menudo son reacios a dedicar tiempo a algo que no beneficia directamente sus objetivos inmediatos. Los verdaderos beneficios del Inner Source

Pero la realidad es muy diferente. El inner source puede traer beneficios sorprendentes, si sabes cómo aplicarlo correctamente. ¿Has considerado en qué áreas de tu empresa podría realmente marcar una diferencia este enfoque?

Si bien es cierto que todos tienen sus propias tareas, el inner source puede ayudar a alinear esas tareas con los objetivos generales de la organización.

Esto es especialmente evidente en empresas con equipos de desarrollo divididos en diferentes departamentos, particularmente cuando el producto principal no es software.

En estos casos, el inner source puede ayudar a alinear a los diversos departamentos, permitiendo que el equipo de desarrollo trabaje como una unidad, en lugar de que cada departamento cree su propia solución para el mismo problema.

Hoy en día, no puedes desarrollar software sin usar open source.

– Wolfgang Gehring, Embajador FOSS en Mercedes-Benz

## Escenario hipotético

Imagina que tienes una empresa con múltiples ubicaciones en todo el mundo y una sede central que intenta guiarlas a todas. Algunas ubicaciones tienen equipo de desarrollo, pero cada departamento está separado.

Cada ubicación tiene que predecir escasez de productos, y todas deben desarrollar una solución para hacer estas predicciones:

  • Ubicación A: Con más desarrolladores, crean 3 soluciones en Angular + C#.
  • Ubicación B: Equipo decente; desarrollan una solución en React + Python mientras trabajan en otros proyectos.
  • Ubicación C: Un solo desarrollador; crea una solución en Vue + NodeJS.
  • Ubicación D: Sin desarrolladores; crean una solución en Excel.

Ahora, cuando alguien quiere mejorar las predicciones, debe elegir entre cinco soluciones diferentes y hablar con otras ubicaciones para decidir si una nueva sería mejor. Los usuarios se resisten porque tienen que aprender un sistema nuevo cada vez, mientras que la solución local satisface mejor sus necesidades.

Este escenario es común en empresas que carecen de una cultura sólida de desarrollo de software. Quizá pienses que estas situaciones no son realistas, o tal vez te describo tu propio lugar de trabajo.

En este caso, el inner source puede ayudar a alinear a los departamentos, permitiendo que el equipo de desarrollo trabaje como una sola unidad en lugar de que cada departamento cree su propia solución para el mismo problema.

## Una solución

La sede decide que todas las plantas deben usar un sistema unificado. Crean un repositorio con una versión base que incluye todas las funciones actuales, permitiendo que las diferentes ubicaciones contribuyan. El sistema está construido en un lenguaje familiar para todos los equipos y diseñado para ser extendido según sea necesario. Con acceso al código abierto, cualquiera puede detectar problemas o entender cómo funciona el sistema.

Esto no solo ayuda a alinear las diferentes ubicaciones, sino que también fomenta una cultura de colaboración entre ellas. Ahora, las ubicaciones pueden compartir su conocimiento y crear una solución mejor que la que tenían antes. Además, se crea un estándar en cuanto al lenguaje y la calidad del código que se espera dentro de la empresa.

# Implementación de Inner Source

El primer paso es identificar las áreas que más necesitan inner source. Esto puede ser un proyecto que está teniendo problemas para cumplir sus objetivos, un equipo que tiene dificultades para colaborar, o un departamento que no está alineado con los objetivos generales de la organización.

Después, es necesario fomentar una cultura de colaboración. Es fundamental eliminar el ego y dejar de pensar que tu solución es mejor que la de cualquier otro equipo. Se necesita crear un ambiente donde todos se sientan cómodos compartiendo sus ideas y trabajando juntos para lograr un objetivo común.

Crea una estructura que permita a todos contribuir. Esto puede ser un repositorio centralizado donde todos puedan enviar su código, o un sistema que permita revisiones de código y retroalimentación.

Finalmente, reconoce y recompensa las contribuciones. Esto puede ser tan simple como dar crédito a la persona que más contribuyó, o tan complejo como crear un sistema de recompensas e incentivos para quienes más aporten.

# Conclusión

Inner source no es solo una palabra de moda; es un enfoque transformador que puede alinear a los equipos y mejorar la colaboración.

Así que, la próxima vez que escuches a alguien desestimar el inner source, recuerda que, con la implementación adecuada y las circunstancias correctas, puede cambiar las reglas del juego en tu organización.

Tómate un momento para evaluar las prácticas de colaboración de tu organización. ¿Qué pasos puedes tomar hoy para comenzar a aprovechar el poder del inner source?