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.