It’s true that open source software is wildly popular among end-users. Technology analyst firm IDC estimates that open source Linux servers will exceed 28 percent of the market by the end of 2005. It’s also true that open source development processes are used in an enormous number of proprietary and open source software projects. SourceForge.net alone hosts more than 100,000 open source projects.
However, it’s also true that open source projects are often developed in environments where many commercial projects would struggle. In some ways, the open source community is the “worst case” scenario for application development:
- Everyone is geographically and culturally widely distributed;
- No formal management – but great leadership;
- Developers may join and leave projects at any point. In fact, the project members that may ultimately support and continue to develop an application may have no part in its initial development;
- Expertise needed to solve significant problems may not be immediately identifiable or available;
And yet, even with these limitations, many high quality, scalable, highly performing applications have emerged from the open source community. From an enterprise perspective, where many of these challenges are paralleled, if we understand how the open source community can achieve this success in the face of such adversity we can apply those techniques to our “behind-the-firewall” development projects.
Experiences with SourceForge.net have clearly shown that the open source community is an evolutionary “survival of the fittest” system. Those applications that appear in the top 10% of projects are arguably as good, if not better, than their commercial equivalents. They’ve clawed their way out of the primordial sea of over 100,000 other projects. How do they do this?
Great projects live and die by the strength of their leaders for which no amount of management can substitute. Successful project leaders keep their teams focused on the “need to have” capabilities, not the “nice to have.”
Since project members come and go, it’s imperative that all project knowledge is retained – not through specific efforts to generate models or heavy documentation - but through the collection of data as a by-product of actual development work. The reprocessing of that data as knowledge needs to be immediately available to new project members. I find the code of successful open source projects very readable – it attracts developers and facilitates rapid, evolutionary progress.
Short, iterative development cycles supported by continuous integration/build/test ensures that code is always stable and the nascent application demonstrable. Again, this aids the comprehension of new project members and the act of gathering feedback from the target user community early in the development cycle. Short iterative development cycles also provide a framework that allows developers to commit to projects in relatively short amounts of time if that is all they have available.
Open source developers working on sites like SourceForge.net can also tap into resources available outside of their immediate project, elsewhere in the community. A centralized application on which all work is performed supports the rapid identification of developers with specific expertise you may be able to tap – either for brief questions or for joining your project as significant contributors (and who knows, you may also find that the project you are planning has already been done!).
‘Agile,’ eXtreme Programming (XP) and other formalized methodologies employed by a growing number of companies have evolved from open source development experiences. Moving an organization to these new ways of working may be a daunting task. However, I can almost guarantee that some of the staff you have within your company already have many of these skills honed on the open source projects to which they have contributed and/or from which they have consumed. Search them out. Ask them to recommend how to apply open source development techniques to the unique situation and needs of your organization. And remember – your competitors have already embarked on this highly differentiating path.
Colin Bodell is the CTO of VA Software, where he provides the technology vision for SourceForge® Enterprise Edition as well as for the OSTG (Open Source Technology Group) network of sites including Slashdot.org, Linux.com, ITManagersJournal.com, NewsForge.com and SourceForge.net. Before joining VA Software, Bodell served as a senior executive at WebGain, Intellicorp and Micro Focus.
Trackback(0)
Comments 
Write comment
 |