Advertisement

From Vernacular to Rational Design in Software Engineering

Consequences of the designer’s changing role
  • Paul R. Taylor
Conference paper

Abstract

Convention dictates that an information discipline matures from an informal shared practice to a defined and repeatable process through the externalisation and formal expression of its underlying theory. This progression is sometimes typified by the emergence of disciplined and professional practice from early forms of vernacular or craft-like work—software engineering evidences this kind of progressive definition over three decades. This paper examines the tension between software engineering’s professionalisation of the software design role—exemplified by the software architect—and its antithesis, the software craftsperson, a characterisation that continues to emerge despite attempts to suppress the reliance on individual skills and abilities through software engineering process. In non-software design disciplines, the professionalisation of design marks a distinct progression from ad hoc unrepeatable, unselfconscious craft to a self-conscious, demarcated type of design found in most forms of engineering. Software engineering has partially failed its attempts to make this transition and this failure undermines the validity of the engineering metaphor and engineering-based process models as a theoretical and practical model of software design. Software methods must acknowledge and find ways of incorporating vernacularism.

Keywords

Software Engineering Rational Design Software Design Software Architecture Design Knowledge 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander, C., 1964, Notes on the Synthesis of Form, New York, Harvard University Press.Google Scholar
  2. Baragry, J. and Reed, K., 2001, Why we need a Different View of Software Architecture, Working IEEE/IFIP Conference on Software Architecture, Amsterdam, The NetherlandsGoogle Scholar
  3. Beck, K., 2000, Embracing Change: Extreme Programming Explained, Cambridge, Cambridge University Press.Google Scholar
  4. Beedle, M., Devos, M., Sharon, Y., Schwaber, K. and Sutherland, J., 2000, SCRUM: A Pattern Language for Hyperproductive Software Development, in: Pattern Languages of Program Design 4, Vol. 4, N. Harrison, B. Foote and H. Rohnert, eds., Reading, Massachusetts, Addison-Wesley.Google Scholar
  5. Berman, M., 1988, The Experience of Modernity, in: Design After Modernism, J. Thackara, ed., London, Thames and Hudson.Google Scholar
  6. Blum, B., 1996, Beyond Programming: To a New Era of Design, Oxford University Press.Google Scholar
  7. Booch, G., 1994, Object-Oriented Analysis and Design with Applications, Redwood City, California, Benjam in Cummings.Google Scholar
  8. Borenstein, N.S., 1991, Programming as if People Mattered: Friendly Programs, Software Engineering and Other Noble Delusions, Princeton, New Jersey, Princeton University Press.Google Scholar
  9. Brand, S., 1994, How Buildings Learn: What Happens to Them after they’re Built, New York, Penguin.Google Scholar
  10. Brooks, F. P., 1987, No silver bullet: Essence and accidents of software engineering, IEEE Computer, 20 (4): 10–19.CrossRefGoogle Scholar
  11. Budgen, D., 1994, Software Design,Addison-Wesley.Google Scholar
  12. Coplien, J. O., 1996, Software Patterns, New York, Lucent Technologies, Bell Labs Innovations.Google Scholar
  13. Coplien, J. O., 2000a, Architecture as Metaphor.Google Scholar
  14. Coplien, J. O., 2000b, Patterns and Art, C++ Report, 12 (1): 41–43.Google Scholar
  15. Dormer, P., 1988, The Ideal World of Vermeer’s Little Lacemaker, in: Design After Modernism, J. Thackara, ed., London, Thames and Hudson.Google Scholar
  16. Eco, U., 1997, Function and Sign: the Semiotics of Architecture, in: Rethinking Architecture: A reader in cultural theory, N. Leach, ed., London, Routledge.Google Scholar
  17. Feyerabend, P., 1993, Against Method, London, Verso.Google Scholar
  18. Foote, B. and Opdyke, W. F., 1995, Lifecycle and Refactoring Patterns that Support Evolution and Reuse, in: Pattern Languages of Program Design, J. O. Coplien and D. C. Scmidt, eds., Addison-Wesley.Google Scholar
  19. Foote, B. and Yoder, J., 1999, Big Ball of Mud, in: Pattern Languages of Program Design 4, Vol. 4, N. Harrison, ed., Addison-Wesley.Google Scholar
  20. Gabriel, R. P., 2001, The Feyerabend Project (http://www.dreamsongs.com/FeyerabendW 1.html)
  21. Gem, J. S., 1996, Creativity, emergence and evolution in design: concepts and framework, Knowledge Based Systems, 9(7): 435–448.CrossRefGoogle Scholar
  22. Glass, R.L., 1999, On Design, IEEE Software, Mar/Apr: 104–103.Google Scholar
  23. Grabow, S., 1983, Christopher Alexander: The Search for a New Paradigm in Architecture, Chicago, University of Chicago Press.Google Scholar
  24. Hauffe, T., 1998, Design: A Concise History, London, Laurence King Publishing.Google Scholar
  25. Hull, D. L., 1988, Science as a Process: An Evolutionary Account of the Social and Conceptual Development of Science, Chicago, The University of Chicago Press.Google Scholar
  26. Jencks, C. and Silver, N., 1973, Adhocism: The Case for Improvisation, New York, Anchor Books.Google Scholar
  27. Jones, J. C., 1988, Softecnica, in: Design After Modernism,J. Thackara, ed., London, Thames and Hudson. Kaplan, S. M., 2000, Co-Evolution in Socio-Technical Systems, Computer Supported Cooperative Work 2000, Philadelphia, ACM.Google Scholar
  28. Kemerer, C.F. and Slaughter, S., 1999, An Empirical Approach to Studying Software Evolution, IEEE Transactions on Software Engineering, 25 (4): 493–509.CrossRefGoogle Scholar
  29. Lieberherr, K.J. and Xiao, C., 1993, Object-Oriented Software Evolution, IEEE Transactions on Software Engineering, 19(4): 313–343.CrossRefGoogle Scholar
  30. Louridas, P., 1999, Design as bricolage: anthropology meets design thinking, Design Studies, 20 (6): 517–535.CrossRefGoogle Scholar
  31. Lycett, M. and Paul, R.J., 1998, Information Systems Development: The Challenge of Evolutionary Complexity in: Sixth European Conference on Information Systems, W.R.J. Baets, ed., Aix-en-Provence, France, Euro-Arab management School, Granada, Spain.Google Scholar
  32. Mayall, W. H., 1979, Principles in Design, New York, Van Nostrand Rienhold.Google Scholar
  33. Mitchell, T., 1988, The Product as Illusion, in: Design After Modernism, J. Thackara, ed., London, Thames and Hudson.Google Scholar
  34. Myerson, J., 1993, Design renaissance: Selected papers from the International Design Congress in: International Design Congress J. Myerson ed., Glasgow, Scotland, Open Eye Publishing.Google Scholar
  35. Naylor, G., 1990, The Arts and Craft Movement: A Study of its Sources, Ideals and Influence on Design Theory, London, Trefoil Publications.Google Scholar
  36. Rittel, H. J. & Weber, M. M., 1984, Planning problems are wicked problems, in: Developments in Design Methodology, N. Cross, ed., Wiley.Google Scholar
  37. Shaw, M. and Garlan, F., 1996, Software Architecture: Perspectives on an Emerging Discipline Google Scholar
  38. Steadman, P., 1979, The Evolution of Designs: Biological Analogy in Architecture and the Applied Arts, Cambridge, Cambridge University Press.Google Scholar
  39. Stebbins, G. L., 1971, Processes of Organic Evolution, Englewood Cliffs, New Jersey, Prentice-Hall, Inc.Google Scholar
  40. Taylor, P., 2000a, Adhocism in Software Architecture - Perspectives from Design Theory in: International Conference of Software Methods and Tools (2000) J.G.a.P. Croll, ed., Wollongong, IEEE Computer Press.Google Scholar
  41. Taylor, P., 2000b, Evolution of Software Design Knowledge in: Australian Conference on Knowledge Management and Intelligent Decision Support (2000), F. Bumstein ed., Melbourne, Monash University.Google Scholar
  42. Taylor, P. R., 2001, Patterns of Software Craft in: Second Australian Conference of Pattern Languages and Programs (KoalaPLoP 2001) J. Noble and N. Harrison, eds., Melbourne, University of Wellington.Google Scholar
  43. Thackara, J., 1988, Beyond the Object in Design, in: Design After Modernism, J. Thackara, ed., London, Thames and Hudson.Google Scholar
  44. Venturi, R., Scott Brown, D. and Izenour, S., 1977, Learning from Las Vegas, Cambridge, Massachusetts, The MIT Press.Google Scholar
  45. Walker, D. and Cross, N., 1976, Design: The man-made object,The Open University Press.Google Scholar
  46. Weatherall, M., 1979, Scientific Method, London, The English Universities Press Ltd.Google Scholar

Copyright information

© Springer Science+Business Media New York 2004

Authors and Affiliations

  • Paul R. Taylor
    • 1
  1. 1.Department of Computer Science and Software EngineeringMonash UniversityCaulfield EastAustralia

Personalised recommendations