Two years ago, I began writing about the impact of open source development tools, components, processes and organizational models on corporate IT shops. I worked with a range of development managers that shared a very similar point of view: instead of dismissing the so-called renegade open source projects, the managers emulated these projects' activities and hoped to mimic their success. This trend is only growing and I am intrigued by the ways in which IT shops are looking to the open source community for leadership.
Early corporate initiatives were driven by grassroots projects. Developers brought open source software (tools and application components) and development techniques into their corporate environments and were able to demonstrate how their teams would benefit. Now, we're seeing top-down initiatives: enlightened IT managers are spearheading these projects and they are beginning to quantify the benefits that their teams achieve. But until the benefits of the open source community are proven to be financially lucrative to corporate IT - and are proven to outweigh the associated risks - we will still need some proselytizing in the industry to move things along.
Pervasive Impact
The open source community can provide (and is providing)
Advertisement
IT shops with a variety of opportunities. All of these are free at the start, although we won't be naïve in thinking that there are no ongoing costs. The open source community offers development teams:
High quality code. Whether leveraging production infrastructure (e.g., Linux, MySQL, Apache, JBoss) or application run-time functionality, development teams can select from thousands of pre-built components or services. Hundreds of project are active on SourceForge.net (which hosts over 100,000 projects in total), and many of these have resulted in highly valued software and commercial products.
Productive development tools. Subversion, CVS, JUnit and CruiseControl, among others, have become household names in corporate shops. It is great to see a traditional tool vendor like IBM, Borland or Serena makes a big announcement when it integrates one of its products with a leading open source tool. And, of course, the industry's investment in Eclipse projects (e.g., ALF Project for tool integration, http://www.eclipse.org/alf/) makes it even easier for companies to adopt open source tools.
Best practices for delivering high quality and timely software. Many open source projects use Agile development techniques. This validates the scalability of Agile processes, countering skepticism that Agile processes are only appropriate for small teams. And, since many corporate developers participate in open source projects, they bring Agile experiences into their day jobs and demonstrate the value of these new approaches.
Models and incentives for project teams to engage developers and improve morale. This may be a bit further out, but it is still an interesting area to follow. We know that corporate developers do not volunteer for projects in the way that developers volunteer to work on many open source projects. Still, many managers note the ways in which open source developers participate in multiple projects in different capacities (developer/contributor, tester, etc.) and still comply with a fairly structured governance process. Most importantly, corporate managers are impressed by the success of environments where developers are motivated by peer recognition and quality, and not just pay and promotions.
Threats Still Abound
It's not always easy to incorporate open source practices or technologies into a corporate environment. Doing so invites a number of threats to the status quo. For example, open source projects demand ultimate visibility. For an open source development project to succeed, all developer information and management metrics must be exposed to the community. This is a similar hurdle found on agile projects: shared ownership, peer reviews, constant refactoring and wide-spread feedback can be threatening to many. In addition, as business managers pressure IT to deliver more capability quickly, they do not want to see developer "experimentation" jeopardize their business success. And, given the diversity of legacy software tools and infrastructure, most shops feel tremendous pressure to leverage existing investments, many of which can be difficult to implement in an agile environment. Probably the biggest gap lies in the area of requirements management. Open source and Agile processes present a disciplined but lightweight approach to eliciting and defining requirements. Companies typically need to build on these processes to satisfy more rigorous governance programs. Still, enlightened managers and staff can work through these and other objections without having to abandon successful legacy practices.
What Is Next?
The impact of the open source community on corporate software development environments has hit the mainstream, and not just in the IT community. Take a recent Special Report from The Economist entitled "Open, but not as usual."[1] Beyond the commonly discussed issues of intellectual property and hidden costs, this article - intended for a business-oriented rather than technical reader - discusses specific development roles and processes and how they benefit a business environment. While it is clear that open source software is not a panacea and will not fit all corporate scenarios, it is impressive to witness the impact this non-traditional software development community is having on blue chip firms.
Of all the reading I've done in the past few months, some of the best advice I have seen regarding open source experience comes from Andrew Stellman and Jennifer Greene in their book "Applied Software Project Management."[2] They basically assert that all projects, regardless of methodology, can benefit from five basic principles:
Tell Everyone the Truth All the Time
Trust Your Team
Review Everything, Test Everything
All Software Engineers Are Created Equal
Doing the Project Right Is Most Efficient
I won't go into a full book review here, but I'd recommend that teams looking to leverage open source projects' experiences consider the book's pragmatic advice. These principles not only help a team take advantage of those practices that best fit their needs, but also help to anticipate many of the common hurdles.
Going forward, there are a few industry initiatives that will help accelerate these trends. Eclipse, led by leading software vendors, has proven to be easy to use and relatively easy to introduce into a traditional shop. With the ALF project addressing tool integration and the Eclipse Process Framework providing development processes (based on the Rational Unified Process, leading Agile practices, and others), IT managers can incrementally adopt new practices that are intended to fit with existing environments. Second, Microsoft's new Visual Studio Team System and Team Foundation Server emphasize Agile practices and lightweight tool integration. As teams implement these new products, they will begin adopting many of these same techniques within the Microsoft product set. And finally, as companies like VA Software and CollabNet bring collaboration and development tools from the open source community into commercial environments - and also engage the vast offshore communities - all of these open source tools and techniques will become prevalent.
In the coming years, there will be many opportunities for IT teams to learn from the successes of open source projects. Managers must be open to considering these less-than-traditional practices and tools, and developers must have the confidence to work in an open and collaborative environment. That's not to say that existing development tools and processes won't be valuable. They certainly will. But the impact of the open source community will continue to grow as the use of open source practices and tools becomes the norm.
Liz Barnett is the Editor in Chief of the Agile Journal and Principal Analyst at EZ Insight Inc. Previously Liz spent 10 years as a Vice President and Research Analyst at Forrester Research, joining Forrester as a result of its acquisition of Giga Information Group. Liz held management positions at Accenture, PepsiCo, and Atelier Research. She also was the Research Director for the advanced software development and advanced network computing research services at New Science Associates, prior to its acquisition by Gartner Group. Liz holds a patent for developing a distributed application development/CASE tool. Liz earned her B.S. in operations research and industrial engineering at Cornell University.