Some Research on Agile Software Development
Robert FeldtSAST Väst, Lindholmen, 2010-11-23
Division of Software EngineeringHOSE Lab (Human-fOcused SE)
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
Planning Game
Adjust to individual needs
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
Planning Game
Re-prio & re-planning
Adjust to individual needs
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
Planning Game
Re-prio & re-planning
Motivation
Collective Participation
Adjust to individual needs
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
Planning Game
Re-prio & re-planning
Motivation
Collective Participation
Adjust to individual needs
Short iterations
Regular Delivery & Feedback
tisdag den 23 november 2010
Motivation in 22 agile devs [Whitworth2007]
Daily meeting
Ease of Interaction
Enjoyment &
Excitement
Business Value Focus
Clear Objective
Common goal
Planning Game
Re-prio & re-planning
Motivation
Collective Participation
Adjust to individual needs
Short iterations
Regular Delivery & Feedback
tisdag den 23 november 2010
Personality and Teams
[Acuna2009]
tisdag den 23 november 2010
Input - Process - Output Model
[Acuna2009]
tisdag den 23 november 2010
Personality and Teams
[Acuna2009]
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
Younger,Many things same time,
Parts of projects,Male
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
Prefer working (with)?
tisdag den 23 november 2010
Linking Personality to Views & Attitudes
47 Industrial SW Engineers
PersonalityTest
SE Views & Attitudes
Patterns?
Prefer working (with)?
Take decisions affecting quality?
tisdag den 23 november 2010
Personality and Software Engineering
Intense personality <->
multiple projects
parts of projects
Age & Gender differences
Higher Extraversion <->
prefer team work
prefer plan & schedule
Higher Openness <->
whole project responsibility
[Feldt2010]
tisdag den 23 november 2010
Agile (RE) Practices - Pro / Con
Saves time
Customer drives
Face2Face communication & User stories
Requires trust
Not all user groups represented
Customer on site
Iterative req engineering
Clearer reqs
Customer relation
Minimal docs when problems
Cost & schedule estimation
Non-functional requirements[Cao2008]
tisdag den 23 november 2010
Agile Practices - Pro / Con
“Extreme” Prioritization
“Business Value” to narrow
Managing Change through Constant replanning
Fewer changes
Smaller changes
Architecture suffers
“Refactoring” not enough
Clearer reasons
Re-prio is easier Instable with re-prio
[Cao2008]
tisdag den 23 november 2010
Agile Practices - Pro / Con
Prototypes
Unrealistic dev speed expectations
Test-driven DevelopmentTests capture reqs
Freedom to experiment
Requires close customer collab
Developers resist
Quicker feedback
Reviews & Acceptance testsStatus report to
customersHard to create acc.tests
[Cao2008]
tisdag den 23 november 2010
[Kniberg2008]
?
tisdag den 23 november 2010
Up to 2006
tisdag den 23 november 2010
Introduction & Adoption
Human & Social Factors Perceptions Comparisons
tisdag den 23 november 2010
Agile practices easy to introduce and work well
Difficult to intro in large/complex organizations
Benefits:Customer collaboration
Defect handling processesLearning among developers
Estimation of time/cost easier
Some studies saw pair programming as inefficient
XP works best with experienced teams
Introduction & Adoption
Human & Social Factors Perceptions Comparisons
tisdag den 23 november 2010
Introduction & Adoption
Human & Social Factors Perceptions Comparisons
XP well accepted in different organizations (hierarchical structure to little or no control)
Good interpersonal skills and trust important for successful XP teams
Individual autonomy must be balanced with team autonomy
Making progress tracking visible and audible important
Important standardization of collaborative work
tisdag den 23 november 2010
Introduction & Adoption
Human & Social Factors Perceptions Comparisons
Customers liked more (give/get) feedback
On-site customer stressful/unsustainable
Developers more satisfied with work and product
Pair programming considered tiring since it required focused concentration
Pair programming hard when skills differ much
Test-driven development was difficult
tisdag den 23 november 2010
Introduction & Adoption
Human & Social Factors Perceptions Comparisons
Agile can more easily incorporate changes and show business value
Can be combined with traditional stage-gate project management
Subjects believe agile increases productivity
tisdag den 23 november 2010
XP Buy-in [Gray2006]
tisdag den 23 november 2010
Sources• Dybå & Dingsöyr, “What do we know about agile sw dev?”, IEEE Software,
2009
• Feldt et al, “Links Between the Personalities, Views and Attitudes of Software Engineers”, IST, 2010
• Whitworth et al, “Motivation & Cohesion in Agile Teams”, XP Conf 2007
• Gray et al, “Forming successful XP teams”, AGILE Conf. 2006
• Cao et al, "Agile Requirements Engineering Practices: An Empirical Study," IEEE Software, vol. 25, no. 1, pp. 60-67, Jan./Feb. 2008.
• Kniberg, H., Slides on “Agile and Lean Software Development”, Crisp AB, 2008.
• Acuna et al, “How do Personality, Team Processes and Task Characteristics Relate to Job Satisfaction and Software Quality?”, IST, 2009.
tisdag den 23 november 2010