skip to main content
10.1145/1083091.1083105acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

A value-oriented theory of modularity in design

Published:15 May 2005Publication History

ABSTRACT

We were motivated to undertake the research we describe here by a conversation with two practicing software engineers, who described a dilemma they faced at work. They worked for small company that earned revenues by delivering to a large customer a stream of enhancements to a software tool. The engineers' jobs were to estimate the time to make enhancements and to implement selected enhancements. They were good at estimating, but dissatisfied with the system design, believing that it significantly slowed new feature implementation. They had proposed to management to restructure the tool. However, the management, concerned about disrupting the flow of enhancements thus revenues, and having no clear model of likely benefits, declined. The engineers believed that refactoring would increase the velocity of feature delivery, but they had no sense or ability to analyze the situation quantitatively or to frame it in a way that was compelling to business decision-makers. As a result, the engineers were dissatisfied, and the company incurred a possibly significant opportunity cost.

References

  1. C. W. Alexander. Notes on the Synthesis of Form. Harvard University Press, 1970.Google ScholarGoogle Scholar
  2. W. Ashby. Design for a Brain. John Wiley and Sons, 1952.Google ScholarGoogle Scholar
  3. C. Y. Baldwin and K. B. Clark. Design Rules, Vol. 1: The Power of Modularity. The MIT Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Brooks. No silver bullet: Essence and accidents of software engineering. IEEE Computer, 20(4):10--19, Apr. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Y. Cai and K. Sullivan. A value-oriented theory of structure in design, viewed as decision-making activity. In Submitted for publication to ESEC/FSE 05, 2005.Google ScholarGoogle Scholar
  6. E. W. Dijkstra. On the role of scientific thought. In Selected Writings on Computing: A Personal Perspective, pages 60--66, Springer-Verlag, 1982.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. D. Eppinger, Model-based approaches to managing concurrent engineering. Journal of Engineering Design, 2(4):283--290, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  8. J. M. Favor, K. R. Favor, and P. F. Favor. Value based software reuse investment. In Annals of Software Engineering 5, pages 5--52, 15May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Jackson. Micromodels of software: Lightweight modeling and analysis with alloy. Feb. 2002.Google ScholarGoogle Scholar
  10. C. V. Lopes and S. K. Bajracharya. An analysis of modularity in aspect oriented design. 2005.Google ScholarGoogle Scholar
  11. D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053--8, Dec. 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. A. Simon. The Sciences of the Artificial. The MIT Press, third edition, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Spivey. The fuzz manual. URL: http://spivey.oriel.ox.ac.uk/~mike/fuzz/.Google ScholarGoogle Scholar
  14. W. P. Stevens, G. J. Myers, and L. L. Constantine. Structured design. IBM Systems Journal, 13(2):115--39, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. Sullivan, Y. Cai, B. Hallen, and W. G. Griswold. The structure and value of modularity in software design. SIGSOFT Software Engineering Notes, 26(5):99--108, Sept. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. J. Sullivan, I. J. Kalet, and D. Notkin. Software design: The options approach. In 2nd International Software Architecture Workshop, Joint Proceedings of the SIGSOFT '96 Workshops, San Francisco, CA, October, 1996., pages 15--18, Aug. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. J. Sullivan and J. C. Knight. Building programs from massive components. In Proceedings of the 21st Annual Software Engineering Workshop, Greenbelt, MD, 4-5 Dec. 1996. IEEE.Google ScholarGoogle Scholar
  18. A. A. Yassine. An introduction to modeling and analyzing complex product development processes using the design structure matrix (dsm) method. 2004.Google ScholarGoogle Scholar

Index Terms

  1. A value-oriented theory of modularity in design

    Recommendations

    Comments

    Login options

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

    Sign in
    • Published in

      cover image ACM Other conferences
      EDSER '05: Proceedings of the seventh international workshop on Economics-driven software engineering research
      May 2005
      65 pages
      ISBN:159593118X
      DOI:10.1145/1083091
      • cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
        July 2005
        1514 pages
        ISSN:0163-5948
        DOI:10.1145/1082983
        Issue’s Table of Contents

      Copyright © 2005 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 15 May 2005

      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