Paper Essup First Look
Paper Essup First Look
I’ve recently had the opportunity to review IJC’s 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
Jaczones Waypointer. The Essential Unified Process is much simpler, and much more
flexible and extensible than previous expressions of UP. It is presented with a light
weight 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,
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 OO 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 proprietary1. The OMG, dominated
by self interest of vendors and methodologies proceeded to take UP and UML to their
1
Recently IBM Rational have joined with others in the process community to create
the Eclipse Process Framework (EPF) and the Open UP initiative.
own direction insisting on a baroque SPEM model, complex meta architecture (MOF)
and a language UML with minimal syntactic or semantic account. (see … ).
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 to help
people develop software to a comprehensive marketiture to sell Rational as the single
vendor answer to process and tools. RUP quickly bloated to 1000s of pages of
hyperlinked material individually and as a whole totally over whelmed 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 the developers had to do was follow instructions! If
only software development was so simple!
Embracing Agility
As well as focussing 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.
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 have announced that 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 light weight 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 have
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 light weight 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.