Mary Lynn Manns University of North Carolina at Asheville SMA 2009 November, 2009.

30
An Investigation into Factors Affecting the Adoption of Software Development Patterns Mary Lynn Manns University of North Carolina at Asheville SMA 2009 November, 2009

Transcript of Mary Lynn Manns University of North Carolina at Asheville SMA 2009 November, 2009.

An Investigation into Factors Affecting the Adoption of Software

Development PatternsMary Lynn Manns

University of North Carolina at AshevilleSMA 2009

November, 2009

Software development patterns

Research study: factors that influence the use of patterns among individuals in organizations

Research design involving quantitative and qualitative methods

Highlights of this Presentation

Facilitate: Knowledge Management

Provide: a structure (and a process) for documenting successful practices in software development and management

Each pattern: describes a verified solution to a common problem

Purpose: to increase productivity through reuse

Software Development Patterns

The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development. Patterns help create a shared language for communicating insight and experience about these problems and their solutions.

Appleton, 2000

Software Development Patterns

A Pattern Language: Towns, Buildings, Construction (Alexander, 1977)

Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, Helm, Johnson, & Vlissides, 1994)

The Manager Pool: Patterns for Radical Leadership (Olson & Stimmel, 2001)

Fearless Change: Patterns for Introducing New Ideas (Manns & Rising, 2005)

Pattern examples

What factors influence theuse of patterns

among individualsin organizations?

Research Question

A theory-building field study…

Research Design

DOI Initial Model &

Propositions

survey

Factors & General

Guidelines

Member checking

Revised Model

& Operational Guidelines

Diffusion: “the process by which an innovation is communicated through channels over time among members of a social system”

Framework: for predicting the amount of time it will take an innovation to be adopted by individuals in a social system

Focus on: social-communication perspective

Connection between: individual’s perception of an innovation and his/her use of it

DOI: Diffusion of InnovationE.M. Rogers

Variables

Dependent Independent

Pattern Use◦ Use only in own work◦ Use in groups◦ Use by writing

+ relative advantage + compatibility + ease of use + trialability + result demonstrability + visibility + image - voluntariness + champion + opinion leader + change agent + training* + patterns repository* + installed process* + innovativeness

Initial Model

Potential Adopters’ Perceptions of Patterns’ Attributes Relative Advantage (+) Compatibility (+) Ease Of Use (+) Trialability (+) Result Demonstrability (+) Visibility (+) Image (+) Voluntariness (-)

Potential Adopters’ Perceptions of Social System Social influences Champion (+) Opinion Leader (+) Change Agent (+) Situational influences Training (+) Patterns Repository (+) Installed Process (+)

Innovativeness of the Potential Adopter Innovativeness (+)

Pattern Use Use Use only in own work Use in groups Use by writing

Operational definitions of constructs from past studies (e.g. Kishore 1999; Moore 1991; Moore&Benbesat 1991; Green 1999)

7-point Likert scale

Homogenous sampling (Baroudi 1989; Sawyer 1981; Mahmood

1991)

130 respondents @ 130 different locations

Survey

Descriptive statistics

Multiple regression◦ Factor level◦ Construct Group level

Correlation analysis

Quantitative:

Use only in own work◦ + Relative Advantage◦ + Result Demonstrability◦ + Trialability◦ - Voluntariness◦ + Innovativeness◦ - Installed Process

Use in groups◦ + Visibility◦ + Compatibility◦ + Opinion Leader

Use by writing◦ + Patterns Repository◦ + Result Demonstrability◦ + Relative Advantage

Survey Results:

Revised Model

Training +

Innovativeness +

Trialability +

Result demonstrability + Innovativeness +

Trialability + Installed process +

Opinion leader - Visibility -

Change agent - Champion - Voluntariness

-

Installed process - Patterns repository -

Patterns repository + Champion +

Visibility + Opinion leader +

Installed process -

Ease of use + Compatibility + Relative advantage +

Result demonstrability +

Use

Relative advantage +

Compatibility +

Result demonstrability +

Pattern repository +

Opinion leader +

Voluntariness -

Champion +

Change agent +

Installed process +

Visibility +

Ease of use + Relative advantage +

Result demonstrability +

Compatibility +

Change agent + Voluntariness -

Champion + Opinion leader + Patterns repository

+

Installed process +

Visibility +

Champion +

Opinion leader +

Use individually

Use in groups

Write patterns

A theory-building field study…

Research Design

DOI Initial Model &

Propositions

survey

Factors & General

Guidelines

Member

checking

Revised Model

& Operational Guidelines

Requested feedback on survey findings from the 130 respondents who provided the data:◦ 10 factors in revised model◦ General Guidelines

To provide confirmation and further insight on the quantitative data

Contributed to Operational Guidelines

Qualitative: Member Checking

General Guideline 10: Any of the following is likely to play a part in the organization’s ability to increase the visibility for patterns: a champion, a change agent, an opinion leader for patterns, a patterns repository, an installed process for patterns. However, the visibility of these factors may also play a part in increasing the perception that the use of patterns not voluntary in the organization.

Member Checking: Be cautious about too much “noise” or hype which can prompt a reaction against “overmarketing.” Make patterns visible in meetings, documentation and training.

Operational Guideline: An organization should find effective ways to make patterns visible throughout the organization without creating the impression of pressure or hyperactive marketing.

Visibility

Organizations cannot simply talk about relative advantage--must also demonstrate how patterns help meet individual and organizational goals

Relative Advantage andResult Demonstrability

Challenges in showing compatibility:◦ Belief that there is no need for patterns because software

engineering is a well-defined discipline◦ Patterns descriptions are too obscure◦ Inability of people to see similarities between solutions

captured in patterns and the problems they face

Operational Guideline: An organization should overcome the misperception that there is no need for patterns in software engineering by showing individuals and teams how patterns can apply to the problems they are trying to solve.

Compatibility

Highest correlation with innovativeness and training◦ Profile of the person who is likely to conduct trials

- innovative◦ Training may offer best opportunity for people to

try out patterns

“The fastest way to introduce patterns into a company is for some project to use them, succeed, and offer some credit to the use of patterns.”

Trialability

Innovativeness andOpinion Leader

Innovativeness Opinion Leader

Organizations can widen the influence of “innovators” only if their role as an opinion leader is supported by management.

Those attempting to be opinion leaders claim that it is difficult. The lack of understanding of the benefits of patterns prompts the belief that they are doing something obscure.

Operational Guideline: An organization should encourage managers to support opinion leaders and others who are building the grass roots effort for patterns.

Managers who have too much involvement or who clearly express their preferences create a strong impression that there is a lack of choice.

Too much management control makes developers resentful and resist the effort.

Managers should provide support--remove barriers and provide incentives.

Voluntariness

Operational Guideline: Management in an organization should find an appropriate level of support for patterns that will help the effort rather than give the impression the use of patterns is being mandated.

Lowest mean of all independent variables.

Usually a grass roots effort; management views it as opportunistic, second to product delivery.

Management needs to address: political issues, training, hosting, quality submissions, and the promotion of patterns.

Patterns Repository

Negative influence on “use only in own work”

Pattern use is seen as something that helps developers become better at their individual jobs.

Installed Process

An extension of Diffusion of Innovation research applied to the adoption of patterns

An empirically supported model that provides a testable theoretical framework for the use of patterns

A theory-building approach that combines quantitative and qualitative methods

A set of operational guidelines to aid organizations wishing to promote pattern use

Contribution

An Investigation into Factors Affecting the Adoption of Software Development

Patterns

Mary Lynn MannsUniversity of North Carolina at Asheville

[email protected]://www.cs.unca.edu/~manns

An organization should demonstrate the relative advantages of patterns to individuals.

An organization should offer opportunities for individuals to try out patterns before using them in their own work.

An organization should show that patterns are useful to innovators.

An organization should allow time for innovative individuals to learn about patterns.

Management in an organization should find an appropriate level of support for patterns that will help the effort rather than give the impression the use of patterns is being mandated.

Operational Guidelines

An organization should overcome the misperception that there is no need for patterns in software engineering by showing individuals and teams how patterns can apply to the problems they are trying to solve.

An organization should find effective ways to make patterns visible throughout the organization without creating the impression of pressure or hyperactive marketing.

An organization should identify different types of opinion leaders to spread the word to others about patterns.

Operational Guidelines (continued)

An organization can use a patterns repository to stimulate pattern writing and thus sustain the general adoption process.

An organization should help individuals understand pattern descriptions.

An organization should help individuals to see the costs as well as the benefits of using specific patterns and to understand that a pattern is not used as an “out of the box” solution.

An organization should create ways to help individuals locate the patterns they need for the problems they are trying to solve.

Operational Guidelines (continued)

An organization should teach patterns in the context of where they are relevant to the work individuals are doing.

An organization should make managers aware of patterns.

An organization should address the concerns of management that patterns have too much risk and have unknown long-term benefits.

An organization should encourage managers to support opinion leaders and others who are building the grass roots effort for patterns.

An organization should consider establishing a change agent to provide a consistent force in creating and keeping interest in patterns.

Operational Guidelines (continued)