distributing expertise in agile software development projects...coding dojo internship program....

17
Distributing Expertise in Agile Software Development Projects Authors: Mawarny Md Rejab James Noble George Allan Victoria University, Wellington, New Zealand

Upload: others

Post on 12-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Distributing Expertise in Agile Software

Development Projects

Authors:Mawarny Md Rejab

James NobleGeorge Allan

Victoria University,Wellington,

New Zealand

Page 2: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Presentation Outlines

• Introduction : Agile Teams

• Research Motivations

• Grounded Theory

• Research Findings

• Conclusion

Page 3: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Agile Teams

• Promoting cross-functional teams

• Being familiar and understanding others’ roles and tasks

• Participating beyond area of expertise

• Distributing expertise – to enable the team knowledge can be shared and accessed

Page 4: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Research Motivations

• Most studies focus on knowledge sharing

• A few empirical studies focus on skills

• Leveraging expertise – integration of knowledge and skills

• It is not easy to distribute expertise (Cho et al. 2011)

• Research Question

“ How Agile teams leverage expertise

through distribution of expertise”

Page 5: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Grounded Theory Inductive research method that aims to infer new theories from observed data

The reasons for choosing Grounded Theory: more appropriate for exploring human behavior and social interaction (Glaser, 1992)

5

Grounded Theory

Page 6: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

6

Data CollectionPerson Location Agile Role Agile Methods Project Domain

P1 New Zealand Developer XP, Scrum Mobile application

P2 New Zealand Agile Coach XP, Scrum, Kanban Not disclosed

P3 Australia Agile Consultant Not disclosed Not disclosed

P4 New Zealand Agile Coach Scrum, XP Education

P5 New Zealand Software Tester Not disclosed Printing

P6 Australia Team Leader Not disclosed Accounting

P7 New Zealand Agile Consultant Scrum, XP Financial

P8 Australia Agile Coach Scrum, XP, Kanban, Human Resources

P9 New Zealand Business Analyst Not disclosed Insurance

P10 New Zealand Software Tester Scrum Education

P11 New Zealand Project Manager Scrum Education

P12 New Zealand Agile Coach Scrum, Kanban Not disclosed

P13 New Zealand Agile Coach Scrum, Kanban Government application

P14 New Zealand Product Owner Not disclosed Not disclosed

P15 New Zealand Agile Coach Scrum, Kanban Government application

P16 New Zealand Agile Coach Scrum, Kanban Government application

P17 New Zealand Developer Scrum Education

P18 New Zealand Software Tester Scrum Education

Page 7: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

category

concept

code

key point

data

Data Analysis

Page 8: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Distributing Expertise

Embracing a master-apprentice model

Coaching and mentoring

Engaging hands-on learning

Establishing discussion platform

Disseminating explicit knowledge

Page 9: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Embracing a Master-Apprentice Model

Purpose To pull new expertise into Agile teams

Implementation • Master – apprentice• Learning by doing• Temporary basis relationship• Rotation with other team

members

Page 10: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Coaching and Mentoring

• Coaching – Agile coach

• Mentoring – Mentor and mentee

• Purpose – to pull new expertise or disseminate available expertise

Coaching and Mentoring vs Master-Apprentice Model

Coaching and Mentoring

Master-Apprentice Model

Purpose Disseminate newexpertise

Disseminateexpertise and produce an expert

Implementation Facilitation and training

Learning by doing

Page 11: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Engaging Hands-on Learning

Pair-programming

Coding Dojo

Internship Program

Page 12: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Establishing Discussion Platforms

Interest group

Chatting tools

Robust debate

Page 13: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Disseminating Explicit Knowledge

Video

Sketching on whiteboard

Document management tools

Page 14: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Discussion

• Successful methods- Pair-programming

- Coaching and mentoring

• Further investigation

- Master-apprentice model (Judy, 2009)

- Internship program (Lindvall, 2002)

- Document management tools (Settina and

Heijstek, 2011)

• Inconsistent finding – debate tends to delay knowledge transfer (Chau and Maurer. 2004)

Page 15: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Conclusion

• Several techniques to disseminate and pull expertise into teams

• More techniques through further investigation

• In future – identify factors that affect the distribution of expertise in Agile teams

Page 16: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

• T. Chau and F. Maurer, “Knowledge sharing in agile software teams,” in Logic versus approximation. Springer, 2004, pp. 173–183.

• J. Cho, R. Huff, and D. Olsen, “Management guidelines for scrum agile software development process,” Issues in Information Systems, vol. 12, no. 1, pp. 213–223, 2011.

• K. H. Judy, “Agile principles and ethical conduct,” in System Sciences, 2009. HICSS’09. 42nd Hawaii International Conference on. IEEE, 2009, pp. 1–8.

• B. G. Glaser and A. L. Strauss, The discovery of grounded theory: Strategies for qualitative research. Aldine de Gruyter, 1967.

• M. Lindvall, V. Basili, B. Boehm, P. Costa, K. Dangle, F. Shull, R. Tesoriero, L. Williams, and M. Zelkowitz, “Empirical findings in agile methods,” pp. 197–207, 2002.

• C. J. Stettina and W. Heijstek, “Necessary and neglected?: an empirical study of internal documentation in agile software development teams,” in Proceedings of the 29th ACM international conference on Design of communication. ACM, 2011, pp. 159–166.

References

Page 17: Distributing Expertise in Agile Software Development Projects...Coding Dojo Internship Program. Establishing Discussion Platforms Interest group Chatting tools Robust debate. Disseminating

Thank you !

Any enquiry, please feel free to contact:

Mawarny Md RejabSchool of Engineering and Computer Science

Victoria University of WellingtonWellington, New Zealand.

Email: [email protected]