660 likes | 771 Views
Our orders of ignorance about software teams. E. Fabio Silva HASE Research Group – < www.haseresearch.com > Centre of Informatics – UFPE Recife – PE – Brazil Seminar presented at the Computer Science Department at Brigham Young University Provo , Utah, USA.
E N D
Our orders of ignorance about software teams E Fabio Silva HASE Research Group – <www.haseresearch.com> Centre of Informatics – UFPE Recife – PE – Brazil Seminar presented at the Computer Science Department at Brigham Young University Provo, Utah, USA. January, 19th, 11:00 – 11:50. O Influenciates P T I Is influenciated
In this seminar, I will talk about our research on software engineering teams, usingPhillip G. Armour’sorders of ignorance: (0OI) what we thing we (probably) know; (1OI) what we know that we don’t know; and how we are trying to transform what we don’t know that we don’t know (2OI) into research questions (1OI).
towards an explanatory model of software team effectiveness E Fabio Silva HASE Research Group – <www.haseresearch.com> Centre of Informatics – UFPE Recife – PE – Brazil Seminar presented at the Computer Science Department at Brigham Young University Provo, Utah, USA. January, 19th, 11:00 – 11:50. O Influenciates P T I Is influenciated
I received my PhD in Computer Science from the Laboratory for Foundations of Computer Science (LFCS), University of Edinburgh, Scotland, in 1992. I am an Associate Professorof Software Engineeringat the Center of Informatics, of the Federal University of Pernambuco, Brazil, where I have been working since1993. I was a co-founder of the Center of Advanced Studies and Systems at Recife (C.E.S.A.R.)in 1996, and of the Porto Digital Science Park, in Recife, Brazil, in 2001, of which I was the first President between 2001 and 2003. In the last 19 years, I have been involved in teachingentrepreneurship, enterprise creation, innovation management, as well as project management and software engineering, supervised42master and 2doctoral students, and publishedover 100 articles in journals and conference proceedings. Currently, I have 16master and 6doctoral students under my supervisionworking on human aspects in software engineering. Since July 2011, I have been working as a visiting researcher at University of Toronto, with Professor Steve Easterbrook.
I am currently on my sabbatical at the Computer Science Department, University of Toronto, ON, working with Prof. Steve Easterbrook.
I was born in Taquaritinga, SP (since 1965) Graduated in Computer Science, 1987 at UNICAMP, Campinas, SP
PhD at University of Edinburgh, Scotland (1988 – 1992)
Europe – 7 hours USA – 7 hours In 1993, I moved to Recife, PE 8o04'03” S – 34o55'00” W Average temp.: 25oC/77F Altitude: 4m
Recife, Brazil 8o04'03” S – 34o55'00” W Average temp.: 25oC/77F Altitude: 4m In 1993, I joined the Centre of Informatics – UFPE +80 faculty members 3 undergraduate courses +1,000 undergraduate students +300 PhD students +700 master students 2011 Best Research Institution in Brazil
Recife, Brazil 8o04'03” S – 34o55'00” W Average temp.: 25oC/77F Altitude: 4m In 1996, we created the Centre of Advanced Studies and Systems of Recife – C.E.S.A.R. Spin-off from CIn 500 software engineers US$ 25 million revenue/year 2004 and 2010 Best Research Institution in Brazil Centre of Informatics – UFPE (since 1974) +80 faculty 3 undergraduate courses +1,000 undergraduate students +300 PhD students +700 master students 2011 Best Research Institution in Brazil
Recife, Brazil 8o04'03” S – 34o55'00” W Average temp.: 25oC/77F Altitude: 4m In 2000, I participated in the design and development of Porto Digital Science Park +160 software companies Largest Science Park in Brazil
Recife, Brazil 8o04'03” S – 34o55'00” W Average temp.: 25oC/77F Altitude: 4m A great industrial environment for empirical software engineering research “in the wild”!
HASE – Human Aspects in Software Engineering Research to improve software practice (Since 2006) • Participants • 3 professors/researchers • 6 doctoral students • 16 master students • Ongoing Projects • Towards a theory of self-managing software team effectiveness • Conceptual and practical aspects of replication of empirical software engineering research • The role of evidence based research in software engineering • Results • 20 Master dissertations • 25 published articles • 3 best paper awards (ESEM’2011, EASE’2011, SBES’2009) E O Influenciates P • Active Collaborations • The Open University – England • University of Maryland Baltimore County – USA • University of Toronto – Canada • University of Western Ontario – Canada T I Is influenciated
HASE – Human Aspects in Software Engineering Research to improve software practice (Since 2006) Research strategy Incremental knowledge and theory building through the use of multi-method approach with a focus on qualitative research. E O Influenciates P T I Is influenciated
My Road Map for Today I will talk about how from an initial theory … … and other theories and models … … through several iterations of empirical studies … … we produced (a proposal of) an explanatory model of software teams.
an initial model of team effectiveness we needed to start somewhere… Hackman, 1987. “The Design of Work Teams”
an initial set of research questions … What motivates software engineers to apply effort to software development tasks? What affects that amount of knowledge software engineers to apply to software development tasks? What are performance strategies in software development and what does it mean for a strategy to be appropriated?
1. Motivation in software engineering 2.Software Team building and composition 3. Antecedents of effectiveness in self-managing teams 4. The role of individual characteristics on team effectiveness
1. Motivation in software engineering What motivates software engineers to perform tasks in software development?
1. Motivation in software engineering Starting Point A set of motivators from the systematic literature review performed by Beecham et al. (2008)
1. Motivation in software engineering Starting Point A set of motivators from the systematic literature review performed by Beecham et al. (2008) Match the model
1. Motivation in software engineering Empirical Study We performed a survey to identify the influence of the 20 motivators on software engineers in industry. Fm = Valence X Instrumentality X Expectancy An operational definition of motivational force using Expectancy Theory. Data collect from 176 software engineers from companies in Recife, in 2008.
1. Motivation in software engineering Empirical Study We performed a survey to identify the influence of the 20 motivators on software engineers in industry. An operational definition of motivational force using Expectancy Theory. Data collect from 176 software engineers from companies in Recife, in 2008. Motivators were ordered according to the actual motivational force.
1. Motivation in software engineering Empirical Study We performed a survey to identify the influence of the 20 motivators on software engineers in industry. An operational definition of motivational force using Expectancy Theory. Data collect from 176 software engineers from companies in Recife, in 2008. Motivators were ordered according to the actual motivational force. Factor analysis was used to group the motivators
1. Motivation in software engineering Knowledge gained Most antecedents in Hackman’s Models are also relevant for software engineers The software engineering specific factors are not directly represent in Hackman’s Model Motivational force is different for specific motivators for each individual and seems to be moderated by individual characteristics
2.Software Team building and composition What criteria areused in industrial practice to select members of a software team and what are the relationships between these criteria and project success?
2.Software Team building and composition Empirical Study A multi-method approach was used in two phases. Phase I : Qualitative research based on interviews and coding of collected data to build a set of team building criteria. Phase II: Quantitative research based on a survey and statistical analysis to correlate the use of the criteria and project success.
2.Software Team building and composition Phase I : Qualitative research Interviews with 18 software development professionals from 6 software companies from Recife
2.Software Team building and composition Phase II: Quantitative research A survey of 48 projects from 24 companies from 9 different States in Brazil. Correlations? Team Building Criteria Project Success X
2.Software Team building and composition Phase II: Quantitative research A survey of 48 projects from 24 companies from 9 different States in Brazil. Correlations
2.Software Team building and composition Knowledge gained Personality and behavior correlates strongly with project success and are not part of Hackman’s Model External criteria related to project importance and costumer importance for the organization have strong correlation with user satisfaction
3.Antecedents of effectiveness in self-managing teams • Is the adoption of the agile practices related to the success of software projects managed using Scrum? Survey - 2009 9 small companies in Recife 11 software projects 62 participants
3.Antecedents of effectiveness in self-managing teams 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
3.Antecedents of effectiveness in self-managing teams Are the determinants of self-managing team effectiveness present in a Scrum team?
3.Antecedents of effectiveness in self-managing teams • Qualitative Case Study • Single case holistic design • Mature Scrum Team • Eight team members • Four software engineering Data Collection Semi-structured interviews Observations of team work Are the determinants of self-managing team effectiveness present in a Scrum team?
3.Antecedents of effectiveness in self-managing teams We extended the model of effectiveness with more antecedents, due to the lack of explanatory power of the original model in the context of agile teams. Cohen SG (1993) The Design of Effective Self-managing Teams. Advances in Interdisciplinary Studies of Work Teams. Vol. 1 Theories of Self-managing Working Teams 1:
3.Antecedents of effectiveness in self-managing teams Our preliminary findings seemed to indicate that… … adoption of a development or management method has a complex interplay with the determinants of team effectiveness. … feedback loops seem to exist between the adoption of the methodology and the existence of determinants.
4. The role of individual characteristics on team effectiveness
4. The role of individual characteristics on team effectiveness
4. The role of individual characteristics on team effectiveness
4. The role of individual characteristics on team effectiveness
4. The role of individual characteristics on team effectiveness Survey - 2007 Team role behavior (Belbin’s Theory) influences the use of software development process.
4. The role of individual characteristics on team effectiveness Survey - 2007 Team role behavior (Belbin’s Theory) influences the use of software development process. Survey - 2008 Team role behavior (Belbin’s Theory) correlates with preference for software development tasks.
4. The role of individual characteristics on team effectiveness Survey - 2007 Team role behavior (Belbin’s Theory) influences the use of software development process. Survey - 2008 Team role behavior (Belbin’s Theory) correlates with preference for software development tasks. Mix-method - 2008 The required abilities and team role behavior of the SQA professional changes with the maturity level of the organization.
4. The role of individual characteristics on team effectiveness Systematic Review – 2010 • Personality relates to : • project success, • code quality, individual satisfaction, and team cohesion • Diversity is important in the early stages of the software project. • Teams with predominance of Introversion experience lower effectiveness due to communication problems. • Heterogeneous teams are “optimum” when solving unstructured tasks while homogeneous teams are “optimum” when solving structured tasks.