Registered: Apr 2001
Location: New York
Craig Larman on Agile Modeling
We asked Craig Larman about his involvement with agile modeling and he wrote back with some interesting history and insights on the subject:
I'll share a bit of my history with agile modeling, in response to a late '2002 question about my current public inactivity on this subject:
Scott deserves credit for pulling this information together, but I know he will acknowledge that these are older practices. For a brief history on the name: he emailed me some years back with the idea of calling this "extreme modeling" as a presentation of how modeling is done in XP. However (having earlier discussed with Kent in some detail his vision of modeling in XP), I suspected it was not how Kent wanted modeling in XP, although I was supportive of the underlying modeling approach Scott was advocating, as it corresponded with mine. Then Scott, Kent Beck, Ron Jeffries, me, and Bob Martin had an email exchange on this question, and that the name "extreme modeling" was not best as the approach didn't reflect XP's view on modeling. Thus, if I recall, Bob suggested "agile modeling" instead, and the name stuck.
To pick up on the "older ideas..." point, I've been sharing & coaching on lightweight low-tech high-touch diagramming and UML for all projects since the '80s, and specifically in the context of XP, RUP, and agile modeling (before it was named as such) for around 5 years.
I've been coaching with a combination of UP, Scrum, and XP practices since '98 when it was word-of-mouth; UP and XP were making the buzz or seminar circuit then. And my OOA/D seminars, courses, and consulting have always stressed this "agile" approach in the context of a short iterative lifecycle processes, since '88. And it's how we as a company at ObjectSpace, where I worked in the early-mid 90s, practiced modeling in the context of development; when under our control we did projects using 3-4 week timeboxed iterations in common project rooms with
floor-ceiling whiteboard spaces to maximize agile modeling and visual communication of project information.
To quote a Jan 2002 review at Amazon of my 1st edition Applying book, "IMHO this book is an Agile Modeling book written before Agile Modeling became vogue." Definitely that was my vision when I wrote it in '95-96. the 2nd edition Applying... chapter 35 "on drawing" summarizes some agile modeling practices related to UML.
Note that the motivation for this agile approach to modeling was not then, nor now, a response to high-pressure delivery dates or web dev; rather, it was and is simply what I have called a "human nature based sustainable" development approach. I grew up in software dev in the 70s, and saw first hand and repeatedly the failure of "formal" and "thorough" modeling theories from SA/SD, etc. It didn't match with the psychology of developers, or the business context, and the practices didn't stick; what the books and courses advised didn't match what later happened in IT departments. In the mid 80s I saw the failure of CASE and lots of fussy, detailed drawing/design work. And I focused on doing AI and expert systems dev with ES-influenced knowledge acquisition, prototyping, and modeling practices in the early 80s. It was those experiences that shaped my practice for "light high-touch low-tech" (as I called it then) practices, such as hand drawing using lots of whiteboards in a common room, short modeling sessions followed by short dev cycles, parallel model drawing on diff whiteboards, printing whiteboards, and so forth.
Note that some folks have read the Applying book thinking I was an advocate of detailed upfront modeling or design, as the book introduces OOA/D and diagramming, but that's not the case. It's just that the book is emphasizing one part of the larger picture, and is presenting a suite or "intellectual toolbox" of practices that can optionally be applied. When I coach a team, I've sometimes gotten a surprised reaction from clients when I come in on day 1 and suggest "let's start programming by tomorrow" or "let's not bother with doing model X" or "let's avoid using that CASE tool and stick to the white boards." They have a kind of guilt that they haven't done enough modeling or used a CASE tool, when in reality the problem is analysis paralysis, low value diagramming, an unskillful build environment, not enough testing, ...
Thus, my seminars and consulting/coaching approach on "agile modeling," agile UP, UP with XP and Scrum, etc has been delivered since '98 both at conferences and to many orgs--usually mgmt groups. In my role as director of process at Valtech (an international, French-based company), in '99 we adopted globally "light UP" (as we called it) that combined these practices. One could have visited my "UP Distilled: Lightweight UP and Modeling with XP Practices" seminar at SD West in '98 (or was it
'99; now I forget).
Also, at a number of conferences in the late 90s and 2000, I participated in panels with kent/ron/martin/bob on this topic, and RUP vs XP or RUP + XP.
With all this UP + XP + agile modeling activity in the late '90s I assumed (incorrectly) that the ideas/practices and combination were thus well known by now in the market, but it seems new generations keep revisiting the topic, which is good, as it's an important topic. So, the subject is a slightly old one for me, and thus hasn't interested me to rehash it. And, Scott did a nice job of summarizing the practices both he and I have been promoting for years (which is why I wrote the blurb on the cover of his book).
Report this post to a moderator | IP: Logged