This Article 
 Bibliographic References 
 Add to: 
Evaluating the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software
August 2004 (vol. 30 no. 8)
pp. 521-534
A fundamental question in object-oriented design is how to design maintainable software. According to expert opinion, a delegated control style, typically a result of responsibility-driven design, represents object-oriented design at its best, whereas a centralized control style is reminiscent of a procedural solution, or a "bad” object-oriented design. This paper presents a controlled experiment that investigates these claims empirically. A total of 99 junior, intermediate, and senior professional consultants from several international consultancy companies were hired for one day to participate in the experiment. To compare differences between (categories of) professionals and students, 59 students also participated. The subjects used professional Java tools to perform several change tasks on two alternative Java designs that had a centralized and delegated control style, respectively. The results show that the most skilled developers, in particular, the senior consultants, require less time to maintain software with a delegated control style than with a centralized control style. However, more novice developers, in particular, the undergraduate students and junior consultants, have serious problems understanding a delegated control style, and perform far better with a centralized control style. Thus, the maintainability of object-oriented software depends, to a large extent, on the skill of the developers who are going to maintain it. These results may have serious implications for object-oriented development in an industrial context: Having senior consultants design object-oriented systems may eventually pose difficulties unless they make an effort to keep the designs simple, as the cognitive complexity of "expert” designs might be unmanageable for less skilled maintainers.

[1] E. Arisholm and D.I.K. Sjøberg, A Controlled Experiment with Professionals to Evaluate the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software Technical Report 2003-6, Simula Research Laboratory,http://www.simula.noerika, 2003.
[2] E. Arisholm, D.I.K. Sjøberg, and M. Jørgensen, Assessing the Changeability of Two Object-Oriented Design Alternatives A Controlled Experiment Empirical Software Eng., vol. 6, no. 3, pp. 231-277, 2001.
[3] E. Arisholm, D.I.K. Sjøberg, G.J. Carelius, and Y. Lindsjørn, A Web-Based Support Environment for Software Engineering Experiments Nordic J. Computing, vol. 9, no. 4, pp. 231-247, 2002.
[4] K. Beck and W. Cunningham, A Laboratory for Teaching Object-Oriented Thinking SIGPLAN Notices, vol. 24, no. 10, pp. 1-6, 1989.
[5] L.C. Briand and J. Wust, Empirical Studies of Quality Models in Object-Oriented Systems Advances in Computers, vol. 59, pp. 97-166, 2002.
[6] L.C. Briand, C. Bunse, and J.W. Daly, A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs IEEE Trans. Software Eng., vol. 27, no. 6, pp. 513-530, 2001.
[7] L.C. Briand, J.W. Daly, and J. Wust, A Unified Framework for Cohesion Measurement in Object-Oriented Systems Empirical Software Eng., vol. 3, no. 1, pp. 65-117, 1998.
[8] L. Briand, J. Daly, and J. Wuest, A Unified Framework for Coupling Measurement in Object-Oriented Systems IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-121, 1999.
[9] L.C. Briand, C. Bunse, J.W. Daly, and C. Differding, An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents Empirical Software Eng., vol. 2, no. 3, pp. 291-312, 1997.
[10] J.-M. Burkhardt, F. Detienne, and S. Wiedenbeck, Object-Oriented Program Comprehension: Effect of Expertice, Task and Phase Empirical Software Eng., vol. 7, no. 2, pp. 115-156, 2002.
[11] D.T. Campell and J.C. Stanley, Experimental and Quasi-Experimental Designs for Research. Rand McNally and Company, 1963.
[12] S.R. Chidamber and C.F. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[13] R. Christensen, Analysis of Variance, Design and Regression. Chapman&Hall/CRC Press, 1998.
[14] P. Coad and E. Yourdon, Object-Oriented Design, first ed. Prentice-Hall, 1991.
[15] A. Cockburn, The Coffee Machine Design Problem: Part 1&2 C/C++ User's J., May/June 1998
[16] R.L. Glass, “The Software-Research Crisis,” IEEE Software, Nov. 1994, pp. 42-47.
[17] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley, 1999.
[18] I. Jacobson, M. Christerson, P. Jonsson, and G. Overgaard, Object-Oriented Software Engineering. Addison-Wesley, 1992.
[19] R.K. Keller, A. Cockburn, and R. Schauer, Object-Oriented Design Quality: Report on OOPSLA '97 Workshop #12 Proc. OOPSLA '97 Workshop Object-Oriented Design Quality, OOPSLA97, 1997.
[20] B. Kitchenham, L. Pickard, and S. Pfleeger, “Case Studies for Method and Tool Evaluation,” IEEE Software, vol. 11, no. 4, pp. 52–62, July 1995.
[21] B.A. Kitchenham, Evaluating Software Engineering Methods and Tools. Part 1: The Evaluation Context and Evaluation Methods ACM Software Eng. Notes, vol. 21, no. 1, pp. 11-15, 1996.
[22] K.J. Lieberherr and I.M. Holland, "Assuring Good Style for Object-Oriented Programs," IEEE Software, Sept. 1989, pp. 38-48.
[23] R.M. Lindsay and A.S.C. Ehrenberg, The Design of Replicated Studies The Am. Statistician, vol. 47, no. 3, pp. 217-228, 1993.
[24] C. Potts, “Software Engineering Research Revisited,” IEEE Software, Sept. 1993, pp. 19-28.
[25] R.C. Sharble and S.S. Cohen, The Object-Oriented Brewery: A Comparison of Two Object-Oriented Development Methods Software Eng. Notes, vol. 18, no. 2, pp. 60-73, 1993.
[26] S.D. Sheetz, Identifying the Difficulties of Object-Oriented Development J. Systems and Software, vol. 64, no. 1, pp. 23-36, 2002.
[27] S. Shlaer and S. Mellor, Object-Oriented Systems Analysis: Modeling the World in Data. Yourdon Press, 1988.
[28] D.I.K. Sjøberg, B. Anda, E. Arisholm, T. Dybå, M. Jørgensen, A. Karahasanovic, and M. Vokác, Challenges and Recommendations when Increasing the Realism of Controlled Software Engineering Experiments Empirical Methods and Studies in Software Eng. (ESERNET 2001-2002), R. Conradi and A.I. Wang, eds., 2003.
[29] D.I.K. Sjøberg, B. Anda, E. Arisholm, T. Dybå, M. Jørgensen, A. Karahasanovic, E. Koren, and M. Vokác, Conducting Realistic Experiments in Software Engineering Proc. First Int'l Symp. Empirical Software Eng. (ISESE '2002), pp. 17-26, Oct. 2002.
[30] S. Tockey, B. Hoza, and S. Cohen, Object-Oriented Analysis: Building on the Structured Techniques Proc. Software Improvement Conf., 1990.
[31] R.J. Wirfs-Brock, Characterizing your Application's Control Style Report on Object Analysis and Design, vol. 1, no. 3, 1994.
[32] R.J. Wirfs-Brock and B. Wilkerson, Object-Oriented Design: A Responsibility Driven Approach SIGPLAN Notices, vol. 24, no. 10, pp. 71-75, 1989.
[33] R.J. Wirfs-Brock, B. Wilkerson, and R. Wiener, Designing Object-Oriented Software. Prentice-Hall, 1990.

Index Terms:
Design principles, responsibility delegation, control styles, object-oriented design, object-oriented programming, software maintainability, controlled experiment.
Erik Arisholm, Dag I.K. Sj?berg, "Evaluating the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software," IEEE Transactions on Software Engineering, vol. 30, no. 8, pp. 521-534, Aug. 2004, doi:10.1109/TSE.2004.43
Usage of this product signifies your acceptance of the Terms of Use.