AgileAttitudes Article

 
 
 

Vol 01 Issue 03- Design or Chaos

 
 
Back to the list of articles Agile Attitudes Volume 1, Issue 3 May 28, 2004 A free bi-weekly email newsletter Brought to you by Agile Rules consulting www.agilerules.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Welcome to Agile Attitudes, a newsletter of ideas, insights and technical tips that help people find better ways to develop software. Feel free to share this with anyone - just be sure you send or print the whole thing, including the copyright notice. Directions for managing your subscription are below. O><O><O><O><O><O Nancy V. and Ron Morsicato will be speaking at the Agile Development Conference, XP Agile Universe Conference, and Embedded Systems Con- ference. See below for details. O><O><O><O><O><O Design or Chaos? by Nancy Van Schooenderwoert and Ron Morsicato How does a manager know that design is happening? If your organization has design documents, how do you know the design is being followed? How do you know whether it is a good design? Many software managers believe that design won't occur unless they force it to happen by insisting on the creation of an explicit design document. This concept of a separate design phase followed by a build phase comes from other professional fields. It works for bridge building, house building, and in manufacturing of all kinds. The notion of a designer creating a blueprint and then others using that to build from is ingrained in the engineering field. Let's compare circuit board design with software design. When an electrical engineer creates a circuit design, they are using CAD software that simulates the behavior of that circuit, giving instant feedback on the viability of the design. When a software engineer designs software, what do they use? Diagramming on paper with UML is common. There are proprietary tools that will simulate or generate code. These can be useful if the development environment is suited to the tool. Feedback on the validity of a software design is vital, but we're a long way from having reliable, affordable tools to do this in all the environments where software is developed. Paper-based diagrams are useful but limited. The Agile software development movement has already addressed this issue by integrating design with coding. The reason is simple: em- ployment of a test-centric philosophy ensures that design decisions are continuously being validated by test. Thus the design activity itself is deeply immersed in code writing, and the output of the activity (of designing by writing code that verifies the design) is the operational code itself. So if you want to verify whether your team is designing, it's better to base the conclusion on how the team is verifying design than how the team is documenting design. If they're verifying design by testing, the question goes from "Do you design?" to "How well do you design?" Which would you rather they answer? O><O><O><O><O><O More articles on Agile software topics at http://www.agilerules.com Within our company we have a sub-specialty in embedded systems. Our site has articles on embedded XP and we support a discussion list focused on the use of agile methods for building embedded software. The list signup info is at http://www.xp-embedded.com/mailman/listinfo O><O><O><O><O><O If you enjoyed this issue or found it useful, forward it to a friend! Help spread the word about better ways to build software - invite your friends and colleagues to join our growing reader community at http://www.agilerules.com/mailman/listinfo/agileattitudes O><O><O><O><O><O Looking for a speaker for your next corporate or society meeting? We present dynamic, informative programs on topics of interest to managers and technical staff in their transition to faster ways to build reliable software. O><O><O><O><O><O Want to reprint this issue in your company or society newsletter? For permission to reprint any of the articles, contact us at info@agilerules.com. O><O><O><O><O><O Public Appearances Nancy Van Schooenderwoert will be presenting a paper "Taming the Embedded Tiger: Agile Test Techniques for Embedded Software" at the Agile Development Conference in Salt Lake City, June 22 - 26, 2004. See http://www.agiledevelopmentconference.com/schedule/expreports.html Ron Morsicato and Nancy V. will speak at XP/Agile Universe Conference in Calgary, Alberta, Canada; August 15 - 18, 2004 Agile Methods for Safety-Critical Software Development. See http://www.agileuniverse.com/schedule/index Nancy Van Schooenderwoert will present on "Embedded Extreme Programming Experience Report and Clinic" in Boston, September 13 - 16, 2004 See http://www.esconline.com/boston/ If you would like to receive an email as soon as we know of an event in the Boston area of interest to the agile software community, you can sign up for the announcements list at http://www.agilerules.com/mailman/listinfo/agileannounce O><O><O><O><O><O Your feedback is welcome! Send feedback to info@agilerules.com To manage your subscription: http://www.agilerules.com/mailman/listinfo/agileattitudes O><O><O><O><O><O Brought to you by Agile Rules consulting 162 Marrett Road, Lexington MA 02421 Copyright (c) 2004 Agile Rules info@agilerules.com O><O><O><O><O><O Privacy notice: We will not release a subscriber's address to any third party for any reason. This is a strictly opt-in newsletter. No one is ever subscribed without their explicit request. _______________________________________________ AgileAttitudes mailing list AgileAttitudes@agilerules.com http://www.agilerules.com/mailman/listinfo/agileattitudes </plaintext> </td id="bodytable_r1_c3_body"> </tr id="bodytable_r1"> </table id="bodytable">