Home > Software Quality News > Ivar Jacobson: Useful app dev practices trump full-blown processes
Software Quality News:
EMAIL THIS

Ivar Jacobson: Useful app dev practices trump full-blown processes

By Jack Vaughan, Managing Editor
28 May 2008 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

It may be surprising when a prominent software methodologist pauses to rethink processes and practices that he had a big hand in formulating. Not so with Ivar Jacobson.

Ivar Jacobson, father of use cases and co-founder of UML
Ivar Jacobson

The father of use cases, a founder of the Unified Modeling Language (UML), and a driving force in Aspect-Oriented Programming, Ivar Jacobson has a curriculum vitae that is somewhat unique among software technologists.

Perhaps his ability to rethink his achievements is a major reason he has been able to have so many.

He shows pride in work he has done, but he can be critical of that work. Take the Rational Unified Process (RUP) as an example.

For more than a few developers, RUP was the last straw in a backbreaking procession of processes and methodologies designed to turn vague programmer art into solid software engineering. Extreme Programming (XP) and agile development processes came into being at least in some part as a reaction to RUP, which both XP adherents and Agilists perceived as too complex and rigid.

Jacobson can be droll describing this phenomenon. The only thing the signers of the Agile Manifesto had in common, he has joked, was that "they hated RUP."

RUP is very much based on the Rational Objectory Process derived from Jacobson's work at Objectory A.B. Yes, he has admitted, RUP is his baby. Yet, he has remarked on occasion: "Babies grow up, and some of them have to be corrected."

RUP is not alone as a poster child for the "software process." The widely used Capability Maturity Model (CMM) came to prominence in the 1990s as a measure of organizations' process capabilities. CMM has been superseded by Capability Maturity Model Integration (CMMI).

"CMMI is still about big processes. What you do not get from CMMI is good software," said Jacobson. The focus on improving the process can obscure natural faults. Jacobson has an analogy: "You pave a cow path, but you still have a cow path."

Focusing on best practices
Jacobson chose in recent years to focus on the essential elements in RUP and other software processes, paring down complexity while still being open to innovations. He and his associates at Ivar Jacobson International (IJI) meanwhile have spotlighted useful practices above full-blown processes.

If critics say that software development processes by nature become larger and larger, Jacobson does not tend to disagree.

In years past, the vexing decision in the software development process often was what to include or what not to include. So-called religious wars were fought over purity of methods. Such fighting over "process" is ill-advised, suggested Jacobson recently in a phone conversation with SearchSoftwareQuality.com. A focus on useful practices yields better results.

More information on use cases and UML
UML made Jacobson's use cases state of the art. What's next?

How to document use cases

Software requirements analysis: Five use case traps to avoid

"We always intuitively talk about 'practice.' It is basically anything -- it's not well-defined," Jacobson said. "But we can think of these practices as being composable."

He suggested that teams naturally mix and match elements of practices -- for example, use cases or test cases, Scrum meetings, and so on -- that they find useful.

In a series of public speeches, Jacobson has delivered the message that adopting full-fledged processes does not make sense. This came in part from his considerations of what it would take to make RUP "agile."

Practice is the way, he seems to say. In effect, it is a unit of adoption that works for software teams; it is a unit far more malleable than the overarching process. He suggests that different teams can adopt different practices according to their needs, which is a far cry from the song heard during the Big Process days.

"With processes, every time a new idea comes up you find yourself adding to the processes. You always are adding," said Jacobson. "You cannot take away anything because you already have a lot of users of your old process. I used to say, 'Every successful process will die under its own weight because we add more and more to it.' "

Meanwhile, there are some indications that RUP is undergoing some re-evaluation at IBM. For example, IBM Agile evangelist Scott Ambler late last year discussed the idea of "Agile RUP." He said developer teams should select aspects of RUP -- which he describes as a process framework -- that they find useful.

As the industry awaits more information on IBM's Jazz tool product line at this year's IBM/Rational User Group Conference, there is a sense that lighter or "composable" approaches will be emphasized. In any case, Jacobson and his crew will be there.



Tags: Software development fundamentalsTraditional software models (RUP, V-Model, CMM, Waterfall)Agile software developmentVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Software development fundamentals
Agile development growing, but problems remain
Hamish Reid, software engineer, Perforce Software
Agile, IBM tools boost Merge Healthcare's software quality
Extending application lifecycle management to the enterprise
Quiz: Open source software development
Help with development life cycle metrics
How to develop secure applications
Manage component dependencies for improved system quality
Survey: Agile interest high, but waterfall still used by many
Continuous integration reduces bugs, increases productivity

Traditional software models (RUP, V-Model, CMM, Waterfall)
Best practices for moving testers from waterfall to agile development
Agile and waterfall neck and neck as business side fails to engage
Turning agile skeptics to believers at Blueprint Systems
How Covad made the switch to a distributed agile development process
Can traditional project management and agile development coexist?
Software development groups take many routes to Agile
Survey: Agile interest high, but waterfall still used by many
How to choose a software testing methodology
Implementing the IBM Rational Unified Process and Solutions: A Guide to Improving Your Software Development Capability and Maturity -- Chapter 2, Your First Steps
Varying SDLC methodologies among development teams

Agile software development
Agile development growing, but problems remain
Agile, IBM tools boost Merge Healthcare's software quality
Agile development reshaping requirements
Agile software development tutorial: How to transition to agile
Agile software development tutorial: Pros and cons of agile
Agile software development tutorial: Agile requirements gathering
Agile software development tutorial: Agile project management, tools
Agile software development tutorial: Agile testing
Reporter's Notebook: Jack Vaughan on agile methodology
Best practices for moving testers from waterfall to agile development

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build tool  (SearchSoftwareQuality.com)
development environment  (SearchSoftwareQuality.com)
heuristics  (SearchSoftwareQuality.com)
histogram  (SearchSoftwareQuality.com)
intentional programming  (WhatIs.com)
JAD  (SearchSoftwareQuality.com)
lean programming  (SearchSoftwareQuality.com)
peer review  (SearchSoftwareQuality.com)
source code analysis  (SearchSoftwareQuality.com)
Standard Performance Evaluation Corporation  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Software Development Methods - Extreme Programming, Agile Programming, Scrum
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts