Why Software Engineers Do Not Keep to the Principle of Separating Business Logic from Display: A Method Rationale Analysis

  • Malin Häggmark
  • Pär J. Ågerfalk
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4001)


This paper presents an investigation into why software engineers do not keep to the principle of separating business logic from display. The concept of method rationale is used to establish what is supposed to be achieved by following the principle. The resulting model is then contrasted with results from in-depth interviews with practicing engineers about what they want to achieve. The difference between what the principle advocates and what engineers consider beneficial holds the answer to why the principle of separating business logic from display is not maintained. The results suggest that many espoused benefits of the principle do not appeal to engineers in practice and the principle is tailored to make it more useful in particular contexts. Tailoring the principle also brought about other benefits, not explicated by the principle, thus reinforcing the idea that method tailoring is crucial to the successful enactment of information systems engineering methods.


Software Engineer Public Rationality Business Logic Private Rationality Method Rationale 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ågerfalk, P.J., Åhlgren, K.: Modeling the Rationale of Methods. In: Khosrowpour, M. (ed.) Proceedings of the 10th Information Resources Management Association International Conference, pp. 184–190 (1999)Google Scholar
  2. 2.
    Ågerfalk, P.J., Fitzgerald, B.: Methods as Action Knowledge: Exploring the Concept of Method Rationale in Method Construction, Tailoring and Use. In: Halpin, T., Krogstie, J., Siau, K. (eds.) Proceedings of EMMSAD 2005, pp. 413–426 (2005)Google Scholar
  3. 3.
    Ågerfalk, P.J., Wistrand, K.: Systems Development Method Rationale: A Conceptual Framework for Analysis. In: Proc. 5th International Conference on Enterprise Information Systems (ICEIS 2003), pp. 185–190 (2003)Google Scholar
  4. 4.
    Brinkkemper, S., Saeki, M., Harmsen, F.: Meta-Modelling Based Assembly Techniques for Situational Method Engineering. Information Systems 24, 209–228 (1999)CrossRefGoogle Scholar
  5. 5.
    Dewan, P.: Teaching Inter-Object Design Patterns to Freshmen. In: Proc. SIGCSE 2005 (2005)Google Scholar
  6. 6.
    Fitzgerald, B.: The Use of Systems Development Methodologies in Practice: A Field Study. Information Systems Journal 6, 201–212 (1997)CrossRefGoogle Scholar
  7. 7.
    Fitzgerald, B., Russo, N.L., Stolterman, E.: Information Systems Development: Methods in Action. McGraw-Hill, Berkshire (2002)Google Scholar
  8. 8.
    Forsberg, C., Sjöström, A.: Pocket PC Development in the Enterprise. Addison Wesley, London (2002)Google Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  10. 10.
    Goldkuhl, G.: Design Theories in Information Systems: A Need for Multi-Grounding. Journal of Information Technology Theory and Application 6, 59–62 (2004)Google Scholar
  11. 11.
    Goldkuhl, G., Röstlinger, A.: Joint Elicitation of Problems: An Important Aspect of Change Analysis. In: Avison, D.E., Kendall, J.E., DeGross, J.I. (eds.) IFIP WG8.2 on Human, Social, and Organizational Aspects of Information Systems Development, pp. 107–125 (1993)Google Scholar
  12. 12.
    Jayaratna, N.: Understanding and Evaluating Methodologies. McGraw-Hill, London (1994)MATHGoogle Scholar
  13. 13.
    Karlsson, F.: Method Configuration, Method and Computerized Tool Support. Doctoral Dissertation. University of Linköping (2005)Google Scholar
  14. 14.
    Levi, N.: Java 2 Web Developer Cerification Study Guide, SYBEX inc., Alameda, California, USA (2003)Google Scholar
  15. 15.
    Lings, B., Lundell, B.: Method-in Action and Method-in-Tool: Some Implications for CASE. In: Proc. 6th International Conference on Enterprise Information Systems (ICEIS 2004), pp. 623–628 (2004)Google Scholar
  16. 16.
    Nash, M.: Java Frameworks and Components: Accelerate Your Web Application Development. Cambridge University Press, Cambridge (2003)CrossRefGoogle Scholar
  17. 17.
    Parnas, D.L.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15, 1053–1058 (1972)CrossRefGoogle Scholar
  18. 18.
    Parnas, D.L., Clements, P.C.: A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering 12, 251–257 (1986)Google Scholar
  19. 19.
    Parr, T.: Enforcing Strict Model-View Separation in Template Engines. In: Proc. WWW 2004. ACM, New York (2004)Google Scholar
  20. 20.
    Patton, M.Q.: Qualitative Evaluation and Research Methods. SAGE Publications, Newbury Park California (1990)Google Scholar
  21. 21.
    Pree, W.: Design Patterns for Object-Oriented Software Development. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  22. 22.
    Riemenschneider, C.K., Hardgrave, B.C., Davis, F.D.: Explaining Software Development Acceptance of Methodologies: A Comparison of Five Theoretical Models. IEEE Transactions on Software Engineering 28, 1135–1145 (2002)CrossRefGoogle Scholar
  23. 23.
    Rogue Wave Software, I.: Distributed MVC: An Architecture for Windows DNA Applications. Boulder, Colorado (1999)Google Scholar
  24. 24.
    Rossi, M., Ramesh, B., Lyytinen, K., Tolvanen, J.-P.: Managing Evolutionary Method Engineering by Method Rationale. Journal of the Association for Information Systems 5, 356–391 (2004)Google Scholar
  25. 25.
    Russo, N.L., Stolterman, E.: Exploring the Assumptions Underlying Information Systems Methodologies. Information Technology & People 13, 313–327 (2000)CrossRefGoogle Scholar
  26. 26.
    Stolterman, E., Russo, N.L.: The Paradox of Information Systems Methods: Public and Private Rationality. In: Proc. The British Computer Society 5th Annual Conference on Methodologies (1997)Google Scholar
  27. 27.
    Sun Microsystems, I. Java Blueprints: Model-View-Controller. Sun Microsystems, Inc. [Online], Available: http://java.sun.com/blueprints/patterns/MVC-detailed.html
  28. 28.
    Yin, R.K.: Case Study Research, Design and Methods, 2nd edn. SAGE, London (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Malin Häggmark
    • 1
    • 2
  • Pär J. Ågerfalk
    • 1
    • 2
  1. 1.Dept of Computer Science and Information SystemsUniversity of LimerickLimerickIreland
  2. 2.Dept of Informatics (ESI)Örebro UniversityÖrebroSweden

Personalised recommendations