The Essential Unified Process: New Life for the Unified Process

The Essential Unified Process is much simpler, and much more flexible and extensible than previous expressions of Unified Process


December 27, 2006
URL:http://www.drdobbs.com/architecture-and-design/the-essential-unified-process-new-life-f/196702101

I recently had the opportunity to review Ivar Jacobson Consulting's (IJC) new Essential Unified Process and am pleased to report EssUP provides a fresh approach to software process improvement. It isn't surprising that IJC should provide innovation in the space since its founder Ivar Jacobson is the father of the Use Cases, and the Unified Process, and Jaczone's Waypointer. The Essential Unified Process is much simpler, and much more flexible and extensible than previous expressions of UP. It is presented with a lightweight and friendly approach which makes learning the process easy, some might say even agile Although the Essential Unified Process is a dramatic improvement to UP, the ideas underlying it are very useful to describe basically any process. The approach is practice-centric instead of process-role centered,

Objectory to RUP: The First-Generation Process

I first met Ivar in 1988, following email discussions with respect to his early work on Objectory at Objective Systems. At that time Objectory was one of the only comprehensive process descriptions, and the only object-oriented process. It consisted of an OO Meta model and a comprehensive hyperlinked documentation set with an associated tool. At the time no one had even consider process as something which could be formalized and specialized using principles similar to those practiced in OO programming and Ontology. When Objective Systems was sold to Rational, Objectory and the team became a major influence in Rational Unified Process.

At Rational, Ivar successfully pushed to make UP and UML open by working with the OMG. Rational at that time elected to keep RUP proprietary. (IBM Rational recently has joined with others in the process community to create the Eclipse Process Framework, EPF, and the OpenUP initiative.) The OMG, dominated by self interest of vendors and methodologies proceeded to take UP and UML to their own direction insisting on a baroque SPEM model, complex meta architecture (MOF) and a language UML with minimal syntactic or semantic account.

Unfortunately to some developers Ivar is seen as the godfather of RUP which took on its own life at Rational. The well intentioned RUP grew quickly from a means of helping people develop software to a comprehensive marketiture to sell Rational as the single vendor answer to process and tools. RUP quickly bloated to thousands of pages of hyperlinked material individually and as a whole totally overwhelmed developers. Sold top down, it provided management who didn't understand software development the prescriptive answer for how to develop software. It fit perfectly with corporate and government guilt to become CMM certified and provided what appeared to be the software equivalent of TQM/Six Sigma and ISO 9000. At last there was a prescriptive process to build software. All developers had to do was follow instructions! If only software development was so simple!

Process as Guide rather Than Policeman

Ivar and I have talked many times how simple good ideas can mutate into complex ones with associated dogma not ever envisioned when they were originally conceived or presented. Ivar founded Jaczone and IJC to follow his original vision of disciplined software development based on using process and tools to help guide and coordinate development rather than dictate and police it. EssUP is an effort to return to the essential roots of process this time with a much simpler presentation in an open setting which welcomes and embraces the contributions of others.

Process = A Set of Practices

Process of course doesn't equal practice, and the existence of a process doesn't mean that any one actually follows it! Despite the increased amount of process and tools, organizations soon observed that just increasing process didn't seem to result in more predictable, higher quality software. The Agile Alliance emerged from the Agile Manifesto when a community of successful software developers took a public position against the process/method heavy approach and instead focused on the practices that produce software and how one can improve them. Agile Transitions change the actual practices, not the superficial process. These practices applied Lean approaches to software development focusing on continuous improvement through measurement of delivered software rather than indirect and hopeless inaccurate indirect project management estimates.

The Essential Unified Process

Lean Set of Concepts EssUP is very much in the spirit of Lean Software which emphasizes using only those practices which one really needs and adapting the process to the needs of the project. Instead of using a complex formal meta model it uses a simple sensible taxonomy. This avoids the philosophical challenge and unproductive debate of getting everything right in a perfect Ontology of software concepts. Using a small number of categories EssUP allows various process practices and their associated artifacts to easily described, organized, and communicated.

Easy To Learn: Brief Presentation. EssUP provides a refreshing presentation approach using cards, and guidance sheets to provide a consistent yet simple explanation of the practices and the associated artifacts. The card metaphor leverages the popular success of CRC cards from OO RDD design and XP requirement Story cards making it easy to explain a practice and understand a practice. EssUP doesn't dictate a process rather it allows one to use the card metaphor to describe the process/practices you need. This goes a long way to making process tangible and visible. It also allows a process to use only those things which are really needed. EssUP introduces the process game, which in the spirit of the XP planning game allows the rapid construction and communication of the process appropriate for a project.

Embracing Agility. As well as focusing on capturing the essence of the practices that were originally at the heart of the Unified Process (the process contains practices such as Use-Case Essentials and Architecture Essentials), Ivar has taken on board a lot of lessons from the agile community. This is most apparent in the inclusion of a Team Essentials practice that focuses on social engineering and the people focussed side of agile development processes. This is an aspect of software development that traditional process descriptions have either completely ignored or so tightly coupled to the technical practices that it is easy to overlook and limited in its impact.

These changes offer a level of agility not seen in the Unified Process space before and have led to the creation of an process description that can be used as is or serve as the basis for the creation of many other processes outside of UP. The proof of agility is in the resulting behaviour produced and not in the process description, but the Essential Unified Process certainly provides a set of practices that can help teams to become more agile.

Open and Extensible. In the past process descriptions sought to be comprehensive and self contained. Vendors and process organizations would provide pages and pages of description much of which duplicated concepts documented in books and papers. Unfortunately in many cases key original works were not even referenced, and worse many descriptions were of poor quality, misleading or even in some cases wrong. Keeping such a voluminous process current proved to be impossible!

EssUP focuses on the essence and provides references to the original foundation works of software community. Rather than providing pages and pages on Use Cases, or Architecture or Patterns it simply references the best papers, books in the field. This is done to explicitly avoid any attempt to appear as the authoritative prescriptive source and to make it clear that professionals have a body of knowledge which is essential to be able to carry out the practices of software development.

The simple card/guidance format and informal concept taxonomy make it much easier for others to contribute to the process. IJC has announced they are exploring the best way to create an Open EssUp community to allow others to share their practices.

Conclusion

The Essential Unified Process is much simpler, and much more flexible and extensible than previous expressions of UP. It presented with a lightweight and friendly approach which makes learning the process easy, some might say even fun. IJC have created an initial set of practices and are making them available as EssUp. IJC has announced that they are exploring the best way to create an Open EssUp community to allow others to share their practices. While the initial offering is a lightweight UP process, I see no reason why other non-UP processes be they safety critical or agile could not be described using this same essential concepts and approach.


Dave Thomas is cofounder and chairman of Bedarra Research Labs, Online-Learning.com, the Open Augment Consortium, and chairman of Xia Systems and managing director of Object Mentor. He is also the founding director of Agile Alliance. Dave was the founder and past CEO of Object Technology International (oti.com) creators of the Eclipse IDE Platform, IBM VisualAge for Smalltalk, for Java, and MicroEdition for embedded systems.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.