Do Design Patterns Improve Communication? An Experiment with Pair Design

Author(s): Barbara Unger, Walter F. Tichy
Venue: Proceedings of International Workshop on Empirical Studies of Software Maintenance
Date: May 2000

Type of Experiement: Quasi-Controlled Experiment
Sample Size: 15
Class/Experience Level: Other
Data Collection Method: Survey


Team/Group Size: 2
Time per task: 1 – 3 hours
Length of study: 3 months
Number of Projects: 2
Nubmer of Classes: 13 - 15
Metrics: points based on types of statments
Independent Variables: pattern knowledge
Design Patterns Analyzed: Observer, Bridge, Singleton, Composite, Visitor, Chain of Responsibility, Observer, Singleton

Threats to validity
Internal: additional could be learned in pretest, difference in communication skills
External: small program size, small team size, varying experience of participants

Software Domain: Version Control/Time/Defect Tracking systems

This paper evaluates communication between designers, and assesses how effective their discussions are. Each 2 person team receives a design that need to be revised. One person gets the design before the other person (expert), the other learns during the discussion (novice). The pair maintain a discussion on how to best redesign the system, which is captured on audio and video. This procedure is performed on people before (pretest) and after(posttest) they have received a design patterns course. Two programs are used to perform design improvements during the experiment. The paper proposes a hypothesis that communication is more effective when the designers us a common design pattern terminology.

Results are presented in a graphical form of a communication line, which represents the conversation flow between two partners. To create the line, transcripts of discussions are analyzed and quantized into types of statements: assertion, question, answer feedback. Assertion of one parter is give a positive point and assertion another is given a negative point. The communication line represents the current level of points, and thus will be balanced if the conversation is balanced. The line diagrams in the pretest indicate that that conversations are usually dominated by one person. Also two teams did not finish their tasks. In the post test there was always an explanation phase, followed by balanced discussion. I think this experiment holds up pretty well against the stated threats. With so many uncontrolled variables, the communication lines in the post test are very consistent.