View
89
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Um Estudo Experimental sobre a Relação entre o Uso de Práticas Ágeis e o Sucesso de Projetos de Software que utilizam Scrum Leila M. R. de Souza Mariz, A. César C. França, Fabio Q. B. da Silva Abstract-This work has the goal of investigating the relationship between the use of agile practices and the success of software projects that use Scrum. The method used in the investigation was a cross-sectional survey that collected data from 62 software engineers associated to 11 projects in 9 different software firms, representing 75% of the population in the studied projects. The results show that only 8 of the 25 attributes associated with agile practices have significant correlation with project success. These results suggest that it is important to consider carefully which agile practices must be prioritized in order to increase the effectiveness of the deployment of agile methodologies in the software industry. Paper presented at the XXIV Simpósio Brasileiro de Engenharia de Software, Salvador, 2010. http://www.haseresearch.com
Citation preview
S
O
P
E
I
Infl
uen
ces
Is influenced
An Empirical Study on the Relationship between the Use of
Agile Practices and the Success of Software Projects that
Use Scrum
Leila Mariz; A. César C. França; Fabio Q. B. da Silva< [email protected], [email protected],
S
O
P
E
I
Infl
uen
ces
Is influenced
Research Project
2
(empirical) research project on theinfluence of human factors on softwareengineering
Long Term Objective: to understandthe influence of personality, behavior,and cognition on individuals, teams,projects, processes, and organizationsin software engineering.
S
O
P
E
I
Infl
uen
ces
Is influenced
Research Project
3
(empirical) research project on theinfluence of human factors on softwareengineering
Centro de Informática – UFPE
Since 2003 ...
1 professor/researcher
4 PhD students
18 master students
S
O
P
E
I
Infl
uen
ces
Is influenced
Research Project
4
(Book) Um Estudo sobre Motivação de Integrantes de Equipes de Engenharia
de Software
S
O
P
E
I
Infl
uen
ces
Is influenced
Context
5
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
T. Chow, e D. Cao, "A Survey Study of Critical Success Factors in Agile Software Projects.", The Journal of Systems and Software, n. 81, 2007, pp. 961–971
S
O
P
E
I
Infl
uen
ces
Is influenced
Context and Goals
6
Critical SuccessFactors
Agile Attibutes
Delivery strategy A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertise
A09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management
styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management process
A14 Following agile-oriented project management process
A15 Following agile-oriented configuration management process
A16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-
face meetingsA18 Honoring regular working Schedule
Team environment A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Is the adoption of the
25 agile attributes
related to the
success of software
development projects
managed using
Scrum?
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
7
Method
Cross sectional survey
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
8
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Method
Cross sectional survey
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
9
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
S
O
P
E
I
Infl
uen
ces
Is influenced10
Study Design
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
11
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception of use of agile attribute
Perception of project success
Hackman (1990) and Hallows (1998)
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
12
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25: level of use of Agile Attribute
S: project success
Scale
Five point Likert type
S
O
P
E
I
Infl
uen
ces
Is influenced
Study Design
13
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
S
O
P
E
I
Infl
uen
ces
Is influenced
Development
14
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
Time
July-August, 2009
S
O
P
E
I
Infl
uen
ces
Is influenced
Development
15
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
Time
July-August, 2009Context
9 firms
11 projects
Recife Scrum Group
S
O
P
E
I
Infl
uen
ces
Is influenced
Development
16
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
Time
July-August, 2009
Context
9 firms
11 projects
Recife Scrum Group
Participants (62)
48 Scrum Team
10 Scrum Master
4 Product Owner
S
O
P
E
I
Infl
uen
ces
Is influenced
Development
17
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
Time
July-August, 2009
Context
9 firms
11 projects
Recife Scrum Group
Participants (62)
48 Scrum Team
10 Scrum Master
4 Product Owner
Questionnaire
65 questionnaire sent
62 answered
95% response rate
S
O
P
E
I
Infl
uen
ces
Is influenced
Statistical Analysis
18
Method
Cross sectional survey
Context
Small software firms
Located in Recife.br
Finished Scrum Project
Perspective/Population
Scrum Team, Scrum
Master, Product Owner
Questionnaire
Closed questions
Perception use agile attribute
Perception of project success
Variables
A01 ... A25 and S
Study Design
Time
July-August, 2009
Context
9 firms
11 projects
Recife Scrum Group
Participants (62)
48 Scrum Team
10 Scrum Master
4 Product Owner
Questionnaire
65 questionnaire sent
62 answered
95% response rate
Correlation
Spearman's rank correlation coefficient
Development
S
O
P
E
I
Infl
uen
ces
Is influenced
Results: Correlation
19
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
S
O
P
E
I
Infl
uen
ces
Is influenced
Results: PCA
20
C1Management style
A17 Strong communication focus with daily face-to-face meetingsA10 Managers knowledgeable in agileA18 Honoring regular working ScheduleA11 Managers who have adaptative management styleA20 Coherent, self-organizing team-work
C2Software process
A23Good customer relationship
A13Following agile-oriented requirement management process
A15 Following agile-oriented configuration management process
A14Following agile-oriented project management process
A02Delivering most important features first
C3Team Structure
A22Projects with no multiple independent teams
A21Projects with small teamC4
Technical ProceduresA03 Well-defined coding Standards up front A07 Correct integration testingA12 Appropriate technical training to teamA04 Pursuing simple design
C5Team capability
A09Team members with great motivationA08Team members with high competence and expertise
C6Customer commitment
A24Strong customer commitment and presenceA06Right amount of documentation
C7Delivery strategy
A01Regular delivery of software
C8Team Location
A19Collocation of the whole teamA05 Rigorous refactoring activities
C9Customer awareness
A25Customer having full authorityA16Good progress tracking mechanism
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
21
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Helps to predict risks
Contributes to product quality and
customer satisfaction
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
22
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Key activity
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
23
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Not a surprise. Happens with non Agile
methodologies.
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
24
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Supported by SCRUM
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
25
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Agrees with research on team work!
Not ease to achieve in SE!
S
O
P
E
I
Infl
uen
ces
Is influenced
Results:Discussion
26
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
Apparently a hygienic factor
S
O
P
E
I
Infl
uen
ces
Is influenced
“Surprises”
27
Critical SuccessFactors
Agile Attibutes
Delivery strategy
A01 Regular delivery of softwareA02 Delivering most important features first
Agile software engineering techniques
A03 Well-defined coding Standards up frontA04 Pursuing simple designA05 Rigorous refactoring activitiesA06 Right amount of documentationA07 Correct integration testing
Team capability A08 Team members with high competence and expertiseA09 Team members with great motivationA10 Managers knowledgeable in agileA11 Managers who have adaptative management styleA12 Appropriate technical training to team
Project management process
A13 Following agile-oriented requirement management processA14 Following agile-oriented project management processA15 Following agile-oriented configuration management
processA16 Good progress tracking mechanismA17 Strong communication focus with daily face-to-face
meetingsA18 Honoring regular working Schedule
Team environment
A19 Collocation of the whole teamA20 Coherent, self-organizing team-workA21 Projects with small teamA22 Projects with no multiple independent teams
Customer involvement
A23 Good customer relationshipA24 Strong customer commitment and presenceA25 Customer having full authority
S
O
P
E
I
Infl
uen
ces
Is influenced
“Surprises” (PCA)
28
C1Management style
A17 Strong communication focus with daily face-to-face meetingsA10 Managers knowledgeable in agileA18 Honoring regular working ScheduleA11 Managers who have adaptative management styleA20 Coherent, self-organizing team-work
C2Software process
A23Good customer relationship
A13Following agile-oriented requirement management process
A15 Following agile-oriented configuration management process
A14Following agile-oriented project management process
A02Delivering most important features first
C3Team Structure
A22Projects with no multiple independent teams
A21Projects with small teamC4
Technical ProceduresA03 Well-defined coding Standards up front A07 Correct integration testingA12 Appropriate technical training to teamA04 Pursuing simple design
C5Team capability
A09Team members with great motivationA08Team members with high competence and expertise
C6Customer commitment
A24Strong customer commitment and presenceA06Right amount of documentation
C7Delivery strategy
A01Regular delivery of software
C8Team Location
A19Collocation of the whole teamA05 Rigorous refactoring activities
C9Customer awareness
A25Customer having full authorityA16Good progress tracking mechanism
S
O
P
E
I
Infl
uen
ces
Is influenced
Main Contributions:Academia
29
We need further research!
Available study package for
replicating the experience
S
O
P
E
I
Infl
uen
ces
Is influenced
Main Contributions:Academia
30
Agile practices
Some of those practices
may have no influence on
project successAlthough we need a in-depth
understanding on those influences
We need further
research!
Replicating the
expercience
S
O
P
E
I
Infl
uen
ces
Is influenced
Main Contributions:Practitioners
31
Agile practices
Some of those
practices may have
no influence on
success
Decision-making
Organizations may
choose carefully what
agile practices to
prioritize
We need further
research!
Replicating the
expercience
Academia
S
O
P
E
I
Infl
uen
ces
Is influenced
Four Areas of Further Research
32
Self-organizing Teams
What are they in SE?
How to build one?
How to keep them cohesive?
S
O
P
E
I
Infl
uen
ces
Is influenced
Four Areas of Further Research
33
Motivation
How is motivation related to
performance?
How is motivation related to
success?
Self-organizing
Teams
What are they in SE?
How to build one?
How to keep them
cohesive?
S
O
P
E
I
Infl
uen
ces
Is influenced
Four Areas of Further Research
34
Motivation
How is motivation
related to
performance?
How is motivation
related to success?
Leadership Style
How the style of
leadership and
management affects
success?
Self-organizing
Teams
What are they in SE?
How to build one?
How to keep them
cohesive?
S
O
P
E
I
Infl
uen
ces
Is influenced
Four Areas of Further Research
35
Leadership Style
How the style of
leadership and
management affects
success?
Personality and
Behavior
Does personality matter?
How different team work
behavior affects team
work effectiveness? Motivation
How is motivation
related to
performance?
How is motivation
related to success?
Self-organizing
Teams
What are they in SE?
How to build one?
How to keep them
cohesive?
S
O
P
E
I
Infl
uen
ces
Is influenced
Conclusions
• Limitations and Threats to Validity:– Restricted context
– Small number of participants, projects, and firms
• Contributions:– New research questions
– More detailed factor structure
• Future work– To quantify the observed effects
– Describe the conditions where the effects occur
36
S
O
P
E
I
Infl
uen
ces
Is influenced
An Empirical Study on the Relationship between the Use of
Agile Practices and the Success of Software Projects that
Use Scrum
Leila Mariz; A. César C. França; Fabio Q. B. da Silva< [email protected], [email protected],
S
O
P
E
I
Infl
uen
ces
Is influenced
Um Estudo Experimental sobre a Relação entre o Uso de Práticas Ágeis e o Sucesso de Projetos de Software que utilizam Scrum by Leila M. R. de Souza Mariz, A. César C. França, Fabio Q. B. da Silva is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Based on a work at the XXIV Simpósio Brasileiro de Engenharia de Software, Salvador, 2010.
Permissions beyond the scope of this license may be available at http://www.haseresearch.com