tag:blogger.com,1999:blog-91156446058333841382024-03-13T21:16:17.380+01:00X de XavierUnos y ceros. A veces, en el orden adecuado.-Xvhttp://www.blogger.com/profile/12954073038736466058noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-9115644605833384138.post-85174116993178278482006-12-13T01:23:00.000+01:002006-12-13T07:05:21.426+01:00OpenUP: a short intro to the Open Unified ProcessI listened to <span style="font-weight: bold;">Introducing OpenUP</span>, a very interesting ibm internal presentation by <a href="https://www.cmpevents.com/SDe6/a.asp?option=G&V=3&id=453445">Per Kroll</a> and <a href="http://www.eclipsecon.org/2007/index.php?page=presenters/#Ricardo_Balduino">Ricardo Balduino</a>, and hosted by the Agile@IBM community. I'm highly impressed. The slide set used has quite in common with <a href="http://www.eclipse.org/epf/community/Open%20Unified%20Process%20Distilled%20by%20Kroll%20and%20Lyons.ppt">this powerpoint</a>, available in the <a href="http://www.eclipse.org/epf/">Eclipse Process Framework Project (EPF)</a> <a href="http://www.eclipse.org/epf/community/community_index.php">community news page</a>.<br /><br />Take the RUP principles, borrow freely from XP, Scrum, Agile Modelling and DSDM, shake, and you get a methodology that makes lots of sense despite having a mostly ungoogleable name...<br /><br />OpenUP/Basic is organiced around 4 subprocesses: Collaboration, Intent Management, Management, Solutions Development. It has 6 different roles.<br /><br /><a href="http://www.flickr.com/photos/70148893@N00/320824056/" title="OpenUP roles and subprocesses"><img src="http://static.flickr.com/144/320824056_1aec8ccaca_o.png" alt="OpenUP roles and subprocesses" style="background: white;" /></a><br /><br />Did you notice that the tester role works in the intent management?<br /><br />OpenUP/Basic is minimal, complete and extensible.<br /><ul><li>Minimal means that it is not the kind of methodology where you have a huge role and workproduct initial list that you have to cleanup for your project (and that usually makes you shop more than you really need...): 6 roles, 18 tasks, 20 work products, 200 printed pages.</li><li>Complete: can be manifested as an entire process to build a system (scrum does not deal with the solution construction subprocess)<br /></li><li>Extensible: can be used as a foundation on which process content can be added or tailored as needed. In fact OpenUP consists of</li><ul><li>A base process - OpenUP/Basic</li><li>Extensions to this base process, such as Model Driven Development content</li></ul></ul>The main worproducts and their realtion to roles/subprocesses can be viewed here:<br /><br /><a href="http://www.flickr.com/photos/70148893@N00/320824059/" title="OpenUP roles and workproducts"><img src="http://static.flickr.com/135/320824059_07a1295a6c_o.png" alt="OpenUP roles and workproducts" style="background: white;" /></a><br /><br />The Work Item List is very close to the scrum backlog (not only for the current iteration, but for all the project). Of course, it is iterative, a la RUP:<br /><br /><a href="http://www.flickr.com/photos/70148893@N00/320824054/" title="OpenUP Iterations"><img src="http://static.flickr.com/129/320824054_daa5bd05d3_o.png" width="450" alt="OpenUP Iterations" style="background: white;" /></a><br /><br />But adaptable! The project plan is a 2 pages doc, describing the goals for the different iterations. And, since each iteartion brings its learning, the plan changes:<br /><br /><a href="http://www.flickr.com/photos/70148893@N00/320824053/" title="OpenUP iteration assesment"><img src="http://static.flickr.com/138/320824053_5462d40428_o.png" width="400" alt="OpenUP iteration assesment" style="background: white;" /></a><br /><br />I really like the concept of "Stakeholder Satisfaction Space".<br /><br />Other things that I'd like to highlight:<br /><ul><li>daily meetings</li><li>test driven developemnt</li><li>use case based</li><li>promotes a readable representation of the architecture. <span style="font-style: italic;">Much of the architecture can be</span></li><ul><li><span style="font-style: italic;">Selected instead of designed</span> (patterns)</li><li><span style="font-style: italic;">Referenced instead of described</span> </li></ul></ul><br />OpenUP/Basic instantiates the core values of the <a href="http://agilemanifesto.org/">agile manifesto</a> in some slightly more concrete core principles:<table style="border-style: solid; border-color: black;"><tbody><tr><td style="font-weight: bold;">OpenUP/Basic Key principles</td><td style="font-weight: bold;">Agile manifesto</td></tr><tr><td>Collaborate to align interests and share understanding</td><td>Individuals and interactions overprocess and tools</td></tr><tr><td>Evolve to continuously obtain feedback and improve</td><td>Responding to change over following a plan</td></tr><tr><td>Balance competing priorities to maximize stakeholder value</td><td>Customer collaboration over contract negotiation</td></tr><tr><td>Focus on articulating the architecture</td><td>Working software over comprehensive documentation</td></tr></tbody></table><br />Does it work? I cannot tell, but at least looks like its building blocks have proven to work often.-Xvhttp://www.blogger.com/profile/12954073038736466058noreply@blogger.com1