From list-errors.900002452.8780.901141167.009.0.1@boing.topica.com Fri Jun 15 14:13:26 2001 X-UIDL: 46c24885b85e780b90dae2cdab5563d7 Return-Path: Received: from outmta030.topicadirect.com (outmta030.topicadirect.com [64.209.191.214]) by amber.ccs.neu.edu (8.10.0.Beta10/8.10.0.Beta10) with SMTP id f5FIDOf01376 for ; Fri, 15 Jun 2001 14:13:24 -0400 (EDT) To: Software Development Show Daily From: Software Development Subject: Software Development's Show Daily: Day Three at UML World Date: Fri, 15 Jun 2001 11:00:00 -0700 Message-ID: <8780.900002452.1086072161-738719082-992628033@topica.com> X-Topica-Id: <992628013.svcapn002.4565.1000124> X-Topica-Loop: 900002452 Mime-Version: 1.0 Content-Type: text/plain Status: RO Content-Length: 9587 Welcome to Software Development magazine's daily news update from UML World! This e-mail newsletter is a free service for subscribers to Software Development magazine and SD Online. If you do not wish to get this newsletter, please follow the unsubscribe directions at the bottom of this message. --------------------- Alice in Use Case Land Methodologist's deadpan but biting allegory entertains --------------------- Doug Rosenberg, president of Iconix and author of Use Case-Driven Object Modeling with UML (Addison-Wesley, 1999), used his Wednesday morning soap box at UML World 2001 on June 13, 2001 to deliver his version of Lewis Carroll's Alice in Wonderland--rewritten to skewer the Extreme Programming movement. Rosenberg's keynote slides borrowed John Tenniel's famous engravings from the first edition of Carroll's book (published in 1865), interspersed with screenshots of postings from Web newsgroups that painted an unflattering portrait of the Chrysler C3 project run by XP's most prominent voice, Kent Beck. One screenshot contained a second- or third-hand quote, ostensibly from a Chrysler executive, stating that the company experimented with Extreme Programming "once and only once." A posting from Beck himself read " ... the fundamental problem was ...[that] the customer feeding stories to the team didn't care about the same things as the managers evaluating the team's performance ... The new customers wanted tweaks to the existing system more than they wanted to turn off the next mainframe payroll system. IT management wanted to turn off the next mainframe payroll system." Rosenberg's keynote was divided in three parts: First, Alice encounters analysis paralysis; next, she is urged to "jump right into code" without requirements; finally, she discovers the path of moderation in the form of the four diagrams Rosenberg proposes in Use Case-Driven Modeling with UML. In part two, Alice is approached by a group of soldiers who resemble index cards--the primary planning tool used in XP to write down pieces of functionality in the form of customer stories. "Then a gust of wind blew," Rosenberg read, "refactoring the entire stack of cards." Alice is prosecuted by the Queen of Hearts for Big Design Up Front and sentenced as the jury chants "Off with her head, CMM's dead." Part three describes Rosenberg's process, including the forgotten robustness diagram, a relic from Ivar Jacobson's Objectory Method. Though there were laughs during the talk, the audience was generally quiet, and there were no questions when Rosenberg finished. "I'm a bit disappointed by the reaction," he said quietly afterward, closing down his laptop. "There's a lot of talk going on in the newsgroups and the industry about practices that I think sound a lot like things we've heard before, and I'm not afraid to speak my mind." He didn't have long to worry, however. As he gathered his things, a crowd had formed of those who shared Rosenberg's skepticism, and several called out their congratulations on an enjoyable, if unusual, talk. --Alexandra Weber Morales *************Advertisement************** ************************************************************************ Save up to $400 off last year's tuition! SD Web Service World, Aug 27 -31 in Boston. Offers over 130 classes & tutorials in .NET, Java, XML, C++, Design & Process, Web Services and more, plus Keynotes and Expo. Visit: www.sdexpo.com to register and use code SMAIL71. ************************************************************************ **************************************** --------------------- What's Up With XP and Use Cases? The rift deepens between those who love code and those devoted to UML --------------------- Continuing the week's Extreme Programming emphasis, the panel discussion on incorporating the most popular requirements-gathering practice--writing use cases--within so-called "agile methods" may have deepened the rift between those who love reading and writing clear, elegant source code and those who prefer to model and design their systems first--either extensively or just barely--using UML.The panel members, Software Development Contributing Editor Scott Ambler, Iconix President Doug Rosenberg, Thoughtworks Chief Scientist Martin Fowler, Object Mentor Consultant Robert "Uncle Bob" Martin, and panel moderator, former Software Development Technical Editor Roger Smith, spent an hour wrangling over the model versus code conundrum. By the end, more than a few audience members were frustrated, saying that the advice to seek moderation was obvious and that the experts had indulged too heavily in posturing for sensational effect. Initially sticking with the assigned topic, Fowler recommended Alistair Cockburn's book Writing Effective Use Cases (Addison-Wesley, 2000) as the best on the ubject, and endorsed use cases as complimentary to XP customer stories. "As Alistair describes them, they're very narrative, very light, no more than a few pages long and very much led by the customer." "These panels are going to be pretty boring if we stay reasonable," Martin interjected. "It's not about not modeling or not documenting. Do it if you must, but know why you're modeling and have a goal for that model." Ideally, said Martin, the overview of the system should exist in the modelers' heads rather than on paper, but they should be able to quickly scratch it onto a whiteboard if someone asks for it. "I use Rational Rose and Object Team," an audience member proclaimed, jumping into the fray. "And I model for one reason: because I want to create the skeleton for the code. I can lay out all my classes and objects and then generate code." This motivation didn't move the panelists, however. "I'm not a big fan of CASE tools or diagramming tools," said Martin. "I don't like the code they generate. It puts a step between me and the code; I don't want to have to draw the diagram first." Responding to Ivar Jacobson's predictions made in a keynote here earlier in the week, Martin said "I don't believe UML will be the next programming language, and if it is, I don't think it will be a significant language, and I don't think laymen will program. I don't advise my clients to buy tools. If they've just made a big capital outlay for Rational Rose, I commiserate with them and then I help them to not use the tool." Rosenberg disdained the idea too, but from a different angle: "If you're modeling to generate code, you're modeling for the wrong reason. It's reasonable to generate headers and overall structure, but I don't think the purpose of UML is coding. You need it for when the project is so big that you can't have everyone in the same room. The code that you get out of models, if any, is just a nice side effect." But the audience wanted to hear more about XP-specifically, how to attack feature creep, legacy system integration, reverse engineering and losing the original development team. "You guys don't talk about the garden variety project," said a developer, "extending code or adding new requirements to a big code base." There's no easy answer to team breakups and unwieldy and mysterious legacy programs, Martin and Fowler answered, other than writing elegant code. Ambler suggested buying a baseball bat and attacking management with it, while Rosenberg remained mum. "The minimal set of documentation that Scott Ambler has told us we need is just user documentation," audience member Judy Astroff, a design analyst for the Depository Trust and Clearing Corporation in New York City, stated in dismay. "Look, there are thousands of miles of pipe under the asphalt, and the engineer needs to know which part of the street to open up. There needs to be documentation for the developers." "I'm not sure I buy that analogy," said Fowler. "It annoys me that people treat code as different stuff, as some cryptographic thing-it's not binary." Seemingly disheartened by the debate, Rosenberg offered advice gleaned from a Star Trek episode in which two societies systematically kill their own citizens in virtual bomb attacks because they believe war is inevitable. "Then Captain Kirk comes along and says, 'Just take peace a day at a time, and don't assume the other will attack,'" he said. Just because bad things have happened in development, he expounded, shouldn't cause software engineers to assume that they will continue to happen. Afterward, the conference hall was buzzing with disagreements over the panelists' arguments. "These guys are so full of [it]," said one developer. "Of course you only do the models that you need." "I just wrote a 600-page document for a project," said a software architect, "and nobody even read it. Now I'm sticking to 50 pages, no more." And Fowler and Martin would probably have groaned to hear a comment from Astroff, who'd made the asphalt-hiding-the-pipe analogy earlier: "If you're going to make me read code, it'd better be Cobol-at least that was in English!" --Alexandra Weber Morales For full coverage and photographs from UML World 2001, visit http://click.email-publisher.com/maaacrMaaP9eLa89f87b/ Copyright 2001 © Software Development magazine. http://click.email-publisher.com/maaacrMaaP9eMa89f87b/ ************************************************************************ SD's UML World UPDATE is brought to you by CMP Media LLC, publisher of Software Development magazine. To stop receiving this newsletter, go to http://softwaredevelopment.email-publisher.com/u/?a84tUK.a89f87 ************************************************************************