You are currently on IBM Systems Media’s archival website. Click here to view our new website.

AIX > Trends > Open Source

An Open Source Agile and Unified Software Development Process

This article introduces the open-source OpenUP/Basic software development process and the EPF Composer tool.


How should an organization collect, adopt and share practices for developing software? Many organizations utilize heterogeneous collections of information such as articles, written procedures, binders, books, previous experience and informal but enforced procedures. Some organizations use proprietary processes that may be difficult to extend and reuse. However, the cost of using proprietary processes can be prohibitive for some organizations, particularly if there's a desire to experiment with new ways of developing software.

This article introduces another option, the open source OpenUP/Basic software development process and the EPF Composer tool. OpenUP/Basic is a Unified process that makes use of proven agile practices.

For the past year and a half many organizations have contributed to creating OpenUP/Basic, one of a family of open source processes from the Eclipse Process Framework (EPF). This family shares a common tool and metamodel to ease the development, customization and sharing of intellectual capital. Organizations who have contributed to creating OpenUP/Basic include APG, BearingPoint, Capgemini, Covansys, European Software Institute, IBM, Ivar Jacobson International, Method Park, Number Six Software, ObjectMentor, Softeam, Telelogic, University of British Columbia, USC and Xansa.

OpenUP/Basic has four fundamental principles, describing advice rather than trade-offs, which the EPF team believes makes them easier to adopt. They include:

  • Collaborate to align interests and share understanding
  • Evolve to continuously obtain feedback and improve
  • Balance competing priorities to maximize stakeholder value
  • Focus on the architecture early to minimize risks and organize development
Open, Unified and Agile

Unified processes (most notably the Rational Unified Process) have a long track record of improving the way organizations satisfy customer's expectations and track project progress through objective measures. Agile techniques incorporated into OpenUP/Basic have been used extensively to reduce process and management overhead, improve software quality and improve the ability of teams to meet customer's expectations. Open source products are built collaboratively by a wide range of stakeholders with overlapping and unique perspectives. OpenUP/Basic combines the best of all these worlds by:

  • Defining a small, self-organizing, collaborative team that includes the stakeholders
  • Tracking overall progress through objective milestones in each phase
  • Realizing a four-phase iterative process
  • Focusing on defining the architecture and reducing risk in early iterations
  • Producing a deliverable release every iteration
  • Leveraging Test Driven Development (TDD) to improve quality
  • Utilizing a product backlog in the form of a Work Items List
  • Promoting continuous integration
  • Taking a project management approach similar to the agile software development called Scrum, with daily stand-up meetings and self-organizing teams
  • Leveraging use cases to increase collaboration and stakeholder value
  • Describing evolutionary design and architecture to reduce the amount of up-front analysis
  • Allowing anyone to contribute, extend and comment on OpenUP/Basic

Jim Ruehlin is an Eclipse Committer for EPF and works for IBM Rational Software. Jim can be reached at jruehlin@us.ibm.com.



Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

An Open Source Agile and Unified Software Development Process

This article introduces the open-source OpenUP/Basic software development process and the EPF Composer tool.

Coming Together for Linux

An interview with Open Source Development Labs CEO Stuart Cohen.

AIX > TRENDS > OPEN SOURCE

Deploying the OpenUP Open-Source Process

OpenUP’s benefits can be achieved when the team is tightly integrated, self-organizing and highly communicative. A critical part of this is the Agile part of the process: everyone must be an integrated part of the team.

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters