skip to main content
article

Are agile methods good for design?

Published:01 January 2004Publication History
First page image

References

  1. Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Schwaber, K., Sutherland, J., and Thomas, D. The Agile Manifesto. Available at http://agilemanifesto.orgGoogle ScholarGoogle Scholar
  2. Beck, K. Extreme Programming Explained. Reading, MA: Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cooper, A. The Inmates are Running the Asylum. Indianapolis, IN: SAMS, 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Fowler, M. Is Design Dead? Available at www.martinfowler.com/articles/designDead.htmlGoogle ScholarGoogle Scholar
  5. Fowler, M. and Taber, C. Planning an XP Iteration. Available at www.martinfowler.com/articles/planningXpIteration.html, 4-6Google ScholarGoogle Scholar
  6. Gibbs, W. W. Software's Chronic Crisis. Scientific American (Sept. 1994), pp. 86-95. www.cis.gsu.edu/~mmoore/CIS3300/handouts/SciAmSept1994.htmlGoogle ScholarGoogle Scholar
  7. Nelson, E. Extreme Programming vs. Interaction Design. FTP Online. Available at www.fawcette.com/interviews/beck_cooper/default.aspGoogle ScholarGoogle Scholar
  8. Nelson, T. Project Xanadu (http://xanadu.com/)Google ScholarGoogle Scholar
  9. Wheelright, S.C., Clark, K.B. Revolutionizing Product Development. New York: The Free Press, 1992.Google ScholarGoogle Scholar
  10. Xprogramming.com: An Extreme Resource. Available at www.xprogramming.com/xpmag/whatisxp.htmGoogle ScholarGoogle Scholar

Index Terms

  1. Are agile methods good for design?

      Recommendations

      Reviews

      Susan M. Merritt

      This very creative and readable paper uses a drawing metaphor to talk about software design: As a kid learning to draw, I would often indulgently render small parts of a drawing in rich detail, and pay less attention to how these parts related to each other. Lacking an overall spatial plan, I often ended up with gross inaccuracies that ruined the drawing. My instructional books recommended starting with a light sketch to plan the composition, and then to gradually commit to areas of light and shade over the entire surface to evenly develop the composition. Maintaining such a balanced overview of the drawing would reveal planning flaws sooner and allow their correction. Initially, I resisted drawing these lines that would later need to be erased. The author goes on to say that he still uses this fundamental approach to design complex software systems. Agile methods can enhance the process. The general advantages of agile methods are described. If projects can be broken into a sequence of mini-projects, risk can be minimized, and customer feedback can be incorporated in an ongoing way. Projects can grow while being actually built and used. Complex features can be broken down into simple, buildable working parts. If customers like those parts, they can be incorporated and improved into a larger whole. Refactoring is “like using the eraser” in the drawing, making pieces fit together. Agile methods are “like iterative design”: both get products and feedback in short cycles, but extreme programming (XP) delivers “smaller systems at extremely high fidelities.” Somewhat less severe agile methods than XP can be productively used for user experience design, and are rarely mentioned in the agile community. This is discussed in the context of the development of three client-server software projects: a touchscreen-based media search-and-play system for general recreational use, and two related cataloging applications for media librarians. These are built on three levels: low-level detailed components, low-fidelity redesign of existing parts for fit, and “overall product vision.” With user experience design at work on each level, the process informs the vision of the project. A final section includes guidance for designers, which summarizes the ways in which agile methods can enhance design, including an ongoing sense of accomplishment, shared goals, and teamwork. Agile methods might be best used in cases of “exotic technology, volatile requirements, lack of high-level architecture expertise, or lack of high user experience (UE) standards.” The drawing metaphor is maintained to the end, with the author describing advanced drawing exercises in which students draw one thing after another in a very short time, with the goal of eliminating perfectionism, and developing dialogue with the drawing. In this way, agile methods can enable customers (users) to develop experience with the product, and interact with the design. The piece is well written and creative, and ten good references are included. It is well worth the read. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image Interactions
        Interactions  Volume 11, Issue 1
        Making scents: aromatic output for HCI
        January + February 2004
        64 pages
        ISSN:1072-5520
        EISSN:1558-3449
        DOI:10.1145/962342
        Issue’s Table of Contents

        Copyright © 2004 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 2004

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format