Level: Introductory Per Kroll, Manager of Methods, IBM Rational, IBM
11 Oct 2005 Updated 10 Nov 2005 IBM is proposing a project to the Eclipse Foundation to create an open-source process framework to help companies establish consistency in planning and executing software development projects.
Introduction
An organized, systematic approach to software development projects, including time and budget forecasts, is the key to success, but many companies and organizations don't have such a structure. IBM is putting its leadership in software application development and the open source community to use by offering to share its software application development methodologies.
IBM is proposing a project to the Eclipse Foundation that includes the donation of a subset of the Rational Unified Process. This proposal is aimed at building an open source process framework called the Eclipse Process Framework.
This donation from IBM will provide a foundation architecture and Web-based tools for the industry to engineer, communicate, publish and reuse software development best practices. The contribution of Rational Unified Process core content will help companies big and small, as well as ISVs, systems integrators, IT organizations building portfolios of integrated software-based systems, academia and the research community establish consistency when planning software projects.
The Eclipse Process Framework project
There is currently a project proposal to Eclipse aimed at building an open source process framework called the Eclipse Process Framework Project, nicknamed "Beacon."
There are three goals of the Eclipse Process Framework Project. The first goal is to develop standard process tools and language allowing end users, adopting organizations, vendors, and process communities to evolve, collaborate around, and exchange best practices. This ecosystem is expected to accelerate innovation enabling more effective software practices to be developed.
The second goal is to provide the software development community with open source process content that promotes iterative and agile development practices, such as continuous integration and testing throughout the project lifecycle, while minimizing overhead and high degrees of formality. These practices should serve as sample content, as well as be usable as a foundation for a variety of processes.
A third goal is to make the Eclipse Process Framework easy to use and adopt. It needs to be applicable for a broad set of development platforms and applications, including, but not limited to, developers on the Eclipse platform.
The Eclipse organization will assess the viability of the proposed project by the end of 2005.
The initiative was originally suggested by IBM, and there are now a number of co-proposers for the initiative: Ambysoft, Armstrong Process Group, BearingPoint, Bedarra Research Labs, Capgemini, Covansys, Ivar Jacobson International, Number Six Software, and the University of British Columbia. Examples of companies and organizations supporting the project includes: Jaczone, Object Management Group (OMG), NTT Comware, Sogeti, Unisys, and Wind River. More and more companies and organizations are joining the proposal, and we welcome any company and individual with an interest in furthering the state of software development to join.
Who will benefit from using the Eclipse Process Framework?
Project managers, project analysts, developers and testers will be able to access a free download from Eclipse.org, where they will find instructions on how the IBM code can help them with their software development projects.
We expect to see a variety of usage models for the Eclipse Process Framework. Let's have a look at some sample future usage scenarios.
Individual projects
Individual projects within various software development organizations can easily download and deploy the out-of-box processes captured in the Eclipse Process Framework. They can customize the out-of-the box processes by mixing-and-matching content from various processes, by removing content, or by adding or customizing content by applying content plug-ins provided by the larger ecosystem around the Eclipse Process Framework. They can naturally also capture their own practices through the content authoring tools included in the Eclipse Process Framework. The resulting processes can easily be deployed, and continuously evolved, to accommodate lessons learned as the project progresses.
Enterprises or line-of-businesses
Most organizations would like to
- Leverage existing best practices rather than re-invent the wheel
- Make sure to leverage their own lessons learned and unique in-house knowledge for their domain
- Provide some level of consistency and shared language across the organization
- Address the unique needs of individual projects
Let's have a look at how the Eclipse Process Framework can be used to address those needs.
Through the ecosystem around the Eclipse Process Framework, development organizations can access a large volume of content; the open source content, content provided free-of-charge, and content that can be purchased from vendors, all provided through the Eclipse Process Framework ecosystem. This will provide organizations with unprecedented knowledge on software development, all integrated within the same framework. Companies can also capture their own best practices using the content authoring in the Eclipse Process Framework.
All of this content can easily be packaged into a set of delivery processes, capturing the aspects of the process content that is relevant for different project types. Delivery processes can also specify project plan templates that may be appropriate starting points for projects of different types, and link those templates back to relevant process guidance describing milestones and how to accomplish various objectives specified in the project plan template.
As projects within the organization learn how to improve their approach to software development, these practices can be captured and effectively deployed. As the Eclipse Process Framework ecosystem evolves content, this content can continually be rolled out to the organization, enabling continuous process improvements.
Some select enterprises and line-of-businesses will see the value with evolving key process building blocks in the Eclipse Process Framework, and are willing to make investments to help improve the framework.
Academia
Academia will play two important roles. The first one is as a consumer. Universities can leverage the Eclipse Process Framework to teach current best practices in their curriculums. We expect that supporting material, such as text books and ready-made curriculums will be made available, making it easy for universities to start curriculums. We also expect that the discussion forums around the Eclipse Process Framework will allow students to exchange ideas around software development best practices with people in the industry.
The second role is to bring state-of-the-art software best practices into the mainstream software industry. Researchers can effectively capture and share their experiences and research data, such as research around which best practices seems to increase productivity or quality within the Eclipse Process Framework, or discuss the research in associated discussion forums.
Vendors, technology companies, and companies interested in specific domains
Vendors and technology companies, and companies they collaborate with, typically have unique knowledge around a specific solution or technology. They can leverage the Eclipse Process Framework to capture this knowledge. This will allow them, or consumers of their solutions and technology to wrap their solution or technology within the context of a process. As an example, a vendor producing a software requirements tool can now capture guidance on how to best utilize this technology. The vendor can choose to ship a variant of the Eclipse Process Framework including their requirements content with their product, and companies using their requirements tool can combine the requirements content with any other set of content available through the Eclipse Process Framework ecosystem.
A number of companies that share an interest in a certain technology or domain may leverage the Eclipse Process Framework to collaborate and develop content for that domain. As an example, a handful of companies could agree that it would be beneficial with specific guidance on how to develop software and adhere to FDA1 regulations. They may now jointly develop guidelines to ensure compliance with FDA regulations. They can choose to do so within the Eclipse organization and hence make this content available as open source content, or they can collaborate outside the Eclipse organization and make it available free of charge, or only available within the participating organizations.
System integrators
System integrators will typically leverage the Eclipse Process Framework in the same way as described in the section entitled: Enterprises or Line-of-Businesses, above. Some system integrators will however add an additional usage scenario. They may be thought or practice leader in a certain domain, and want to leverage the Eclipse Process Framework to improve the framework within that area making at least some of their knowledge available through the Eclipse Process Framework. This provides them with a more usable framework, while allowing them to leverage this to market themselves as thought or practice leaders, which in turn is likely to drive more business.
Participating in the development of the Eclipse Process Framework
Assuming proposal acceptance of Project Beacon, the Eclipse Process Framework will be developed applying the same principles and rules as any other Eclipse project. This means that anybody can view the open source product as it evolves, and anybody can help enhance it. For this to work, there needs to be some rules of engagement.
Eclipse is run as a meritocracy. This means that you earn your entitlement to do things by providing value. Anybody can submit suggestions for enhancements, and anybody can submit content or code to be included in future versions of the Eclipse Process Framework. People that submit content or code are called Contributors.
So-called Committers have the right to actually do changes to the product, and will hence also determine which of the proposed changes should be included in the next release. Committers are typically also Contributors. Contributors that have proven themselves over an extended period of time can become Committers.
For more information about how Eclipse works, visit the Eclipse.org Web site. The Eclipse Process Framework project proposal is now available. You are invited to comment on and/or join the project. You can participate by reading the proposal and posting your comments and feedback to the Eclipse Technology Project Forum.
1FDA stands for the Food and Drug Administration of the United States of America.
Resources Learn
-
Read the Eclipse Process Framework Project proposal on the Eclipse.org Web site.
-
Eclipse.org: Eclipse is an open platform for tool integration built by an open community of tool providers. Operating under an open source paradigm, with a common public license that provides royalty free source code and world wide redistribution rights, the Eclipse platform provides tool developers with ultimate flexibility and control over their software technology.
- Learn more about Eclipse-based technologies at the
Eclipse project resources page on developerWorks.
Get products and technologies
Discuss
About the author  | 
|  | Per Kroll is the project leader on the proposed Project Beacon, and development manager for the IBM Rational Unified Process. As part of the IBM Rational CTO office, he is responsible for IBM Rational's strategy in the process area, including integration between methods and tools, and method integration within IBM. Per has twenty years of software development experience in supply chain management, telecom, communications, and software product development. He is author of the book The Rational Unified Process Made Easy – A Practitioner's Guide, Kroll and Kruchten. |
Rate this page
|