Throughout my career, I have been fortunate to work with many organizations of various sizes on a variety of projects. All of these projects had open source software at their core, and most contributed what they could back to the open source community. I recently worked on a greenfield project using open source software within a large organization. After the MVP phase of the project, the organization's leadership was interested in learning what led to project success and how they could apply it to other teams across the organization. Upon reflection, I saw similarities between our team's way of working and open source communities and development. The following are some insights into how open source principles can help organizations save money, reduce technical debt, and bust internal silos.
1. Better spent budgets
I recently delivered a talk on Headless Omni-Channel Web Platforms at the Florida Drupal Camp. One of the key benefits highlighted in the presentation was how to save money by implementing this web platform. The idea comes from open source software development. Different groups within an organization can use their budget to contribute features or functionality to a core software or platform. They can also team up with other groups to pool dollars for more complex features. When the feature development is done, it's added to the core software or platform and available for all. Using this open source principle can provide mutual benefits to groups within an organization. Allowing the sharing of features and functionality and collectively benefiting from each other's spending can improve the software or platform.
Another aspect of this approach that saves money and allows for continuous improvement is the ability to test and develop a feature once and reuse it repeatedly. We frequently see this when creating a web platform that uses a component-based design system as a starting point. Users of the platform can reuse components or features developed by other users. Often, these have already been tested in numerous ways, such as user experience, accessibility, and even security testing.
This simple idea faces opposition in many organizations as individual groups covet and protect budgets. Groups don't want to give up their budgets to support the core software or platform. In some cases, differences in priority and opinion add to siloing in many institutions.
2. Reduce technical debt
Many organizations strive to reduce technical debt. Implementing a comprehensive core software or platform and using open source principles can help reduce technical debt. This happens by allowing development teams to think fully about how a feature impacts not just the group building it but the wider organization. This, plus collaboration with other groups within an organization, can help reduce the need for rebuilding or adding functionality in the future.
Sometimes organizations struggle with this type of collaboration and thinking because of internal competitiveness. Some companies foster a culture where being the first to build a feature or come up with an idea is rewarded. This can lead to groups not working together or sharing ideas, fostering silos within the organization and greatly hindering innovation.
3. Faster time to market
One of the terms I hear frequently is "Faster time to market." Everyone wants to get their thing out quicker and easier. This is often a benefit of a core software or platform, as internal groups can reuse existing, tested, and proven features and functionality instead of building their own from scratch. If your group is starting a project, and it could start from 80% complete instead of 0% complete, would you do it? I'm thinking yes. Now pile on the superhero feeling of adding needed functionality for other users. It's a win-win!
4. Release excitement
Another great open source principle that can help your organization is a release schedule that builds excitement. When your organization implements a core software or platform, users are invested in when updates come out. A release schedule and roadmap can communicate this to them. These two tools can help users to get excited about new features and plan their own roadmaps accordingly. It also helps build appreciation for other teams and pride for the teams building new features. This can unify an organization and allow for an organizational sense of teamwork and accomplishment while providing structure and a plan for the future.
5. A core team and governance
I have found you need two key items to overcome the above-noted obstacles and successfully apply open source principles within your organization. These are: A core team and solid organizational governance. A core team will allow for one group to maintain and manage your organization's core software or platform. It will support the solution and ensure new features and functionality are added wisely. This team can help to reduce the cost to internal teams and inform groups of roadmap features. The core team needs to be supported by strong organizational governance. This governance will provide groups within the organization with a common direction and organizational support to succeed. This organizational governance can mimic open source governance and principles in several ways. The most basic and highest level principle is community and the idea of working together toward a common goal.
Adopting organizational governance based on open source principles can lead your organization to reduce cost, lower technical debt, increase team collaboration, foster innovation, and, above all, propel your organization forward together.