Based on the success and effectiveness of the open source community, development organizations are taking a close look at the methods used within the open source world to understand how they can apply internal development to further increase creativity and accelerate development.
To facilitate widespread, collaborative development, the open source world depends on a core infrastructure that enables individual developers to create, contribute and comment on the works of others. This infrastructure, combined with a widely adopted set of operating norms, enables developers to find and engage with projects that focus on common areas of interest and expertise. It also allows developers to connect with and share their skills and knowledge with other developers, bringing their specialized talents together to solve big problems.
As software developers are exposed to a more open approach to building software through the open source community, they crave a similar open-style of development in their corporate lives. Many satisfy this desire today by engaging outside their corporate lives in open source projects, connecting with new communities where they are building new relationships with other developers that lead to new knowledge and potentially new opportunities. This more open-style of development further breeds new creativity, based on exposure to new ideas, new knowledge, and new applications. It also builds confidence and trust in leveraging the works of others, reducing the "not-invented-here" mindset.
While this behavior is most often linked to the open source community, an open-style of development can also happen internally within corporate development environments. Most companies today employ a widely diverse group of developers—each with unique experiences and skills that when shared, can become a multiplier to the creativity and productivity of individual organizations. I’ve witnessed this first hand in some of the more innovative technology companies, especially those that have been participating in the open source world for many years. These companies have already embraced the idea of employing open source methods within, and have implemented formal programs to facilitate collaboration across teams fostering new ideas and new relationships.
Applying open source methods inside your organization requires a mindset change; a mechanism to support a more collaborative code contribution model; and a set of processes that help people understand how to work together more openly and collaboratively—cross the boundaries of individual organizations. That’s the biggest challenge. Allowing individual developers to form self-made teams across organizational boundaries feels pretty foreign at first, but with well-defined processes, quickly results in broader thinking, higher quality software, and energized developers.
So while most development organizations are already benefiting from the open source community through the reuse of code and binaries, there’s much more to be learned and gained by harvesting open source culture and methods. Creating a more social, open development environment within your company will energize your developers, increase their creativity, and lead to more robust solutions. Seems like a good idea to me.
Here are some tips on how to bring open source methods internally to your organization:
- Set a realistic and achievable vision, establish a shared purpose, and establish clearly defined goals.
- Establish a small, cross-functional working group that can oversee your program.
- Define and implement a process for changing and addressing the cultural expectations of how development is conducted.
- Implement internal mechanisms to facilitate project transparency, communications, and code contributions from all developers throughout your organization.
- Start small and progressively increase the size and scope of these types of projects.
Learn more by watching the webinar: From Stone Age to New Age—Applying Open Source Methods in Internal Development.