Title: An Investigation into Factors Affecting the Adoption of Software Development Patterns
1An Investigation into Factors Affecting the
Adoption of Software Development Patterns
- Mary Lynn Manns
- University of North Carolina at Asheville
- SMA 2009
- November, 2009
2Highlights of this Presentation
- Software development patterns
- Research study factors that influence the use
of patterns among individuals in organizations - Research design involving quantitative and
qualitative methods
3Software Development Patterns
- 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
4Software 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
5Pattern examples
- 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)
6Research Question
- What factors influence the
- use of patterns
- among individuals
- in organizations?
7Research Design
- A theory-building field study
Factors General Guidelines
DOI
Initial Model Propositions
survey
Member checking
Revised Model Operational Guidelines
8DOI Diffusion of Innovation E.M. Rogers
- 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 individuals perception of
an innovation and his/her use of it
9Variables
- relative advantage
- compatibility
- ease of use
- trialability
- result demonstrability
- visibility
- image
- - voluntariness
- champion
- opinion leader
- change agent
- training
- patterns repository
- installed process
- innovativeness
- Pattern Use
- Use only in own work
- Use in groups
- Use by writing
10Initial Model
11Survey
- Operational definitions of constructs from past
studies (e.g. Kishore 1999 Moore 1991
MooreBenbesat 1991 Green 1999) - 7-point Likert scale
- Homogenous sampling (Baroudi 1989 Sawyer 1981
Mahmood 1991) - 130 respondents _at_ 130 different locations
12Quantitative
- Descriptive statistics
- Multiple regression
- Factor level
- Construct Group level
- Correlation analysis
13Survey Results
- 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
14Revised Model
15Research Design
- A theory-building field study
Factors General Guidelines
DOI
Initial Model Propositions
survey
Member checking
Revised Model Operational Guidelines
16Qualitative Member Checking
- 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
17Visibility
- General Guideline 10 Any of the following is
likely to play a part in the organizations
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.
18Relative Advantage andResult Demonstrability
- Organizations cannot simply talk about relative
advantage--must also demonstrate how patterns
help meet individual and organizational goals
19Compatibility
- 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.
20Trialability
- 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.
21Innovativeness andOpinion Leader
- 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.
- Organizations can widen the influence of
innovators only if their role as an opinion
leader is supported by management.
Operational Guideline An organization should
encourage managers to support opinion leaders and
others who are building the grass roots effort
for patterns.
22Voluntariness
- 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.
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.
23Patterns Repository
- 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.
24Installed Process
- Negative influence on use only in own work
- Pattern use is seen as something that helps
developers become better at their individual
jobs.
25Contribution
- 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
26An Investigation into Factors Affecting the
Adoption of Software Development Patterns
- Mary Lynn Manns
- University of North Carolina at Asheville
- manns_at_unca.edu
- http//www.cs.unca.edu/manns
27Operational Guidelines
- 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.
28Operational Guidelines (continued)
- 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.
29Operational 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.
30Operational 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.