knowledge management in distributed agile software development

23
Knowledge Management in Distributed Agile Software Development Siva Dorairaj, James Noble and Petra Malik , VUW @Agile Conference, 2012 Speaker: Kir Chou, NCU 1

Upload: -chou

Post on 07-Jul-2015

460 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Knowledge Management in Distributed Agile Software Development

Knowledge Management in Distributed Agile Software Development

Siva Dorairaj, James Noble and Petra Malik , VUW

@Agile Conference, 2012

Speaker: Kir Chou, NCU

1

Page 2: Knowledge Management in Distributed Agile Software Development

Goal

Knowledge Management : how Agile teams gather, store, share and use knowledge

Distributed : in different location

Agile Software Development

2

Page 3: Knowledge Management in Distributed Agile Software Development

Define Knowledge

Tacit Knowledge

• openly expressed

• action-oriented

Explicit Knowledge

• in written, verbal forms

• academic knowledge

3

KM : manage both in individuals of organizations.

Know how Know what

Page 4: Knowledge Management in Distributed Agile Software Development

Research Method

Grounded Theory (GT) suitable to be used in areas that are under-explored

study social interactions and behaviour of people

Why is GT? literature of agile method is still scarce

agile method focus on people

Distributed started with a general area, rather than specific area

4

Page 5: Knowledge Management in Distributed Agile Software Development

Research Context

45 people from 28 companies

5

Position Scrum Master, Agile Coach, Developer,

Business Analyst, Quality Analyst, Product

Owner, Senior Management

Location USA, Western Europe, India, Australia, China,

UK, Argentina, Japan

Team size Small team: 7~30

Big team: more than 50

Duration (Months) 6~24 (including ongoing)

Iteration (Weeks) 1~3

Page 6: Knowledge Management in Distributed Agile Software Development

Research Know How

Open-ended question how to overcome challenges of distributed agile team

Ongoing analysis guided the future questions

6

0.

Transcribed

text

1.

Code

2.

Concept

3.

Category

Key point

GT’s constant

comparison method constant

comparison method

Page 7: Knowledge Management in Distributed Agile Software Development

Knowledge Management Process

1.

Knowledge Generation

2.

Knowledge Codification

3.

Knowledge Transfer

4.

Knowledge Application

7

Page 8: Knowledge Management in Distributed Agile Software Development

1. Knowledge Generation

divided into two main sub-processes:

knowledge creation exists within the individuals

knowledge acquisition acquired from external sources

8

Page 9: Knowledge Management in Distributed Agile Software Development

Knowledge Generation -1

1. Inception *with clients shared vision

prepares development team

2. Customer collaboration improves communication with development teams

enhance knowledge creation

9

Before start

After start

Page 10: Knowledge Management in Distributed Agile Software Development

Knowledge Generation -2

3. Formal training *soft & technic skills standardize training content

across multiple teams

4. Communities of practice across multiple projects

5. Self-learning *peer & community learning learning takes time

10

Page 11: Knowledge Management in Distributed Agile Software Development

Knowledge Codification

Translation of tacit into explicit knowledge

11

Page 12: Knowledge Management in Distributed Agile Software Development

Knowledge Codification-1

1. Wiki *comment bug a collection of web pages

knowledge creation in the team

facilitate individual learning

2. Documents *test cases, design for using, maintaining and evolving

agile methods reduce the emphasis on documentation

12

Frequent

Infrequent

Page 13: Knowledge Management in Distributed Agile Software Development

Knowledge Codification-2

3. Presentation sharing of valuable ideas

content can be captured and stored

13

Page 14: Knowledge Management in Distributed Agile Software Development

Knowledge Transfer

Movement of knowledge from sender to receiver not guarantee a full replication

often modified

14

Page 15: Knowledge Management in Distributed Agile Software Development

Knowledge Transfer -1

1. Daily Scrum *valuable information synchronize

possible impediments

schedule other meetings

2. Inception a small team is formed

documents

15

Before start

Page 16: Knowledge Management in Distributed Agile Software Development

Knowledge Transfer -2

4. Pair programming *junior + senior knowledge dissemination & retention in organization

5. Tools conserve and distribute knowledge gathered

16

Page 17: Knowledge Management in Distributed Agile Software Development

Knowledge Transfer -3

6. Visits critical situations need effective knowledge sharing

7. Rotation *specific knowledge knowledge gap between offshore & on-site

8. On-site customer continually providing their needs

domain concerned knowledge

17

Page 18: Knowledge Management in Distributed Agile Software Development

Knowledge Transfer -4

9. Cross-functional teams focus on the whole solution

10. Discussions subject matter experts

18

RD

Team Client

Expert

Page 19: Knowledge Management in Distributed Agile Software Development

Knowledge Application

Using knowledge to create and sustain competitive advantage in organizations

19

Page 20: Knowledge Management in Distributed Agile Software Development

Knowledge Application

1. Similar Context *wiki similar project-context activities

2. Problem Solving *wiki consolidate and understand related information

3. Future Sprint/Projects *Scrum tunes and adjusts behaviour of members accordingly

review and retrospectives meetings

20

Page 21: Knowledge Management in Distributed Agile Software Development

Limitation

By GT, author don’t claim that… their findings are universally generalisable to all

distributed Agile projects.

21

Page 22: Knowledge Management in Distributed Agile Software Development

Conclusion

Agile method, Scrum and XP have KM....

Knowledge required is Context-dependent and is difficult to transfer and store context

Critically analyzing the knowledge before reuse

22

Page 23: Knowledge Management in Distributed Agile Software Development

Thank you

23