Extensible Process Content


A key objective of EPF is to provide best practices that team members can easily adopt and assemble into a series of alternative, modifiable, and extensible processes that can be applied to different projects. The focus is on core development activities: requirements, analysis and design, implementation, testing, change management, and project management. Content includes role descriptions, work products/artifacts for capturing information, activities and tasks, and various guidelines.

A second key objective of EPF is to provide software development teams with essential practices for iterative and agile software development, including the following: continuous integration; test-driven development; customer involvement throughout the project; iterative development; pair programming; use-case, scenario, or user-story-driven development; and the practices presented in this book. The goal is to be inclusive in the choice of best practices and to incorporate practices that may be accepted by some, but not necessarily all, constituencies.

EPF strives for simplicity, which can be achieved through continuous refactoring.


While EPF strives for inclusivity, another key objective is simplicity. If EPF is too large and unmanageable, content will be difficult to find, maintain, and refresh. Consequently, overhead could creep into the process. Simplification can be achieved through continuous refactoring, which unifies two or more process elements that cover similar concepts and allows them to be expressed once and reused several times.

This continuous refactoring has the advantage of driving convergence within the industry, encouraging agreement regarding proven practices and allowing the industry to derive further innovation from a common baseline. It is important, however, to ensure that EPF, while remaining simple, also provides a fertile environment for innovation by being open to, and in no way preventing, the expression of diverse views.

To meet these three key objectives, EPF currently works on two process frameworks:

  • Open Unified Process (OpenUP) is an open-source version of the Unified Process. One of the contained processes is OpenUP/Basic, which is a very lightweight adaptation of the Unified Process with influences from Scrum.

  • Agile Process Framework is a process framework reflecting XP, Agile Modeling, and other leading agile development approaches.

More processes can be created if deemed necessary, especially if we have people to contribute time and assets. It is easy to assemble new processes or create derivatives from existing processes on the fly, which reduces the number of processes that need to be provided out-of-the-box.

Reusable process fragments or process patterns can also be captured in capability patterns, as shown in the section Capability Patterns on page 372. Capability patterns can be used to construct a delivery process rapidly and offer the flexibility to supply the right process for the right situation while still providing commonalities between the processes.



Agility and Discipline Made Easy(c) Practices from OpenUP and RUP
Agility and Discipline Made Easy: Practices from OpenUP and RUP
ISBN: 0321321308
EAN: 2147483647
Year: 2006
Pages: 98

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net