Knowledge Transformation in Software Development Processes

12
DSV SU/IbisSoft 1 Knowledge Transformation in Software Development Processes Ilia Bider - IbisSoft/DSV SU Presentation at GSTE 2012: http://semat.org/? page_id=561 Pre-proceedings: http://bit.ly/PGSfNG Learning to use in ow n practice Requirements engineering Coding Design Tacitknowledge Tacitknowledge Explicitknowledge Explicitknowledge Problems/needs Design specifications Requirem ents specifications Em bedded know ledge Softw are system Explicitknowledge Explicitknowledge Em bedded know ledge C ombination E xternalization E mbedment Adoption Solutions U nder sta ndi n g ofprobl em s/needs Tacitknowledge Tacitknowledge Problems/needs Em bedded know ledge Tacitk nowledge Coding Learning to use in ow n practice Requirements discovery Softw are system Solutions Em bedment Adoption Tacit k nowledge Em bedded know ledge Social izatio n Vs.

description

Presentation at GSTE 2012 workshop (SEMAT)

Transcript of Knowledge Transformation in Software Development Processes

Page 1: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft1

Knowledge Transformation in Software Development Processes

Ilia Bider - IbisSoft/DSV SU

Presentation at GSTE 2012: http://semat.org/?page_id=561

Pre-proceedings: http://bit.ly/PGSfNG

Learning to use

in own practice

Requirementsengineering

Coding Design

Tacit knowledgeTacit knowledge

Explicit knowledge

Exp

licit

know

ledg

e

Problems/needs

Design specifications

Req

uire

men

ts s

peci

ficat

ions

Em

bedd

ed k

now

ledg

e

Sof

twar

e sy

stem

Exp

licit

know

ledg

e

Explicit knowledge

Em

bedd

ed k

now

ledg

e

Combination

Externalization

Embedment

Adoption

Solutions

Under

stand

ing o

f pro

blem

s/nee

ds

Tacit knowledgeTacit knowledge

Problems/needs

Em

bedd

ed

kno

wle

dge

Tacit

kno

wledgeCoding

Learning to use

in own practice

Requirementsdiscovery

Sof

twar

e sy

stem

Solutions

Embedment

AdoptionTa

cit k

nowled

ge

Em

bedd

ed

kno

wle

dge

Socialization

Vs.

Page 2: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft2

Positioning

Software Engineering

Products Tools Processes

Goal: Framework for representing knowledge transformation in software development processes

Utility: Analyzing and mitigating risks inherent to particular software development process

Page 3: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft3

Background

• Nonaka theory of knowledge transformation - SECI

• Good regulator theorem of Conant and Ashby“Every Good Regulator of a system must be a model of that system”

• Own practical experience

Page 4: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft4

Plan of presentation

I. Adapting SECI to traditional Software Development and analyzing risks inherent to it

II. Adapting SECI to Agile Software Development and analyzing risks inherent to it

III. Mitigating risks

Page 5: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft5

I.a Traditional approach - ECEA

• A good regulator is a model of the system it regulates

Conant and Ashby• A good solution is a model of the

problem it solves

• A good key is a model of the lock it opens

Scholten

Learning to use

in own practice

Requirementsengineering

Coding Design

Tacit knowledgeTacit knowledge

Explicit knowledge

Exp

licit

know

ledg

e

Problems/needs

Design specifications

Req

uire

men

ts s

peci

ficat

ions

Em

bedd

ed k

now

ledg

e

Sof

twar

e sy

stem

Exp

licit

know

ledg

e

Explicit knowledgeE

mbe

dded

kno

wle

dge

Combination

Externalization

Embedment

Adoption

Solutions

Page 6: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft6

I.b Risk inherent to ECEA

1. Requirements does not catch the needs properly

2. Requirements are not converted into a proper design

3. Coding does not follow the design exactly

4. The new software is not properly understood by its users, and it is rejected or used in the wrong fashion

5. While a new system is under development, the problems/needs are continuing to evolve. As the result, a wrong/outdated system is delivered to the stakeholders.

Learning to use

in own practice

Requirementsengineering

Coding Design

Tacit knowledgeTacit knowledge

Explicit knowledge

Exp

licit

know

ledg

e

Problems/needs

Design specifications

Req

uire

men

ts s

peci

ficat

ions

Em

bedd

ed k

now

ledg

e

Sof

twar

e sy

stem

Exp

licit

know

ledg

e

Explicit knowledge

Em

bedd

ed k

now

ledg

e

Combination

Externalization

Embedment

Adoption

Solutions

Page 7: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft7

II.a Agile approach - SEA

• A good regulator is a model of the system it regulates

Conant and Ashby• A good solution is a model of the

problem it solves

• A good key is a model of the lock it opens

Scholten

Under

stand

ing o

f pro

blem

s/nee

ds

Tacit knowledgeTacit knowledge

Problems/needs

Em

bedd

ed k

now

ledg

e

Tacit

kno

wledgeCoding

Learning to use

in own practice

Requirementsdiscovery

Sof

twar

e sy

stem

Solutions

Embedment

AdoptionTa

cit k

nowled

ge

Em

bedd

ed k

now

ledg

e

Socialization

Page 8: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft8

II.b Risk inherent to SEA

1. Weak or insufficient architecture2. Unmaintainable code3. Lost of knowledge when developers

disappears4. …..

Under

stand

ing o

f pro

blem

s/nee

ds

Tacit knowledgeTacit knowledge

Problems/needs

Em

bedd

ed k

now

ledg

e

Tacit

kno

wledgeCoding

Learning to use

in own practice

Requirementsdiscovery

Sof

twar

e sy

stem

Solutions

Embedment

AdoptionTa

cit k

nowled

ge

Em

bedd

ed k

now

ledg

e

Socialization

Page 9: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft9

III.a Mitigating risks with ECEA – cross-functional teams

Traditional organization

Cross-functional organization

Page 10: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft10

III.b Mitigating risks with SEA – creating a development platform

1. Code libraries – functions/object classes etc.

2. High-level domain specific languages and tools

3. …..

Under

stand

ing o

f pro

blem

s/nee

ds

Tacit knowledgeTacit knowledge

Problems/needs

Em

bedd

ed k

now

ledg

e

Tacit

kno

wledgeCoding

Learning to use

in own practice

Requirementsdiscovery

Sof

twar

e sy

stem

Solutions

Embedment

AdoptionTa

cit k

nowled

ge

Em

bedd

ed k

now

ledg

e

Socialization

Page 11: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft11

III.c Verification: BS thesis project

Description: Agile software development is under transformation from being an "ugly duck" to becoming the mainstream of the software development. The agile methodology puts focus on implementation (programming, test, operation) and tacit knowledge transformation easing requirements on the design documents, in the ideal case not requiring them at all. The question arises on how this type of development can produce maintainable software, were the knowledge acquired during agile cycles is stored, and how it can be reused in the next cycle, or in the next projects. The project aims at investigating the practice of Swedish software organizations that have adopted agile methodology to find answers to these questions. The project includes developing a framework for conducting the investigation, planning and conducting interviews, processing results.

Page 12: Knowledge Transformation in Software Development Processes

DSV SU/IbisSoft12

Thank you for your attention!

Ilia Bider, DSV SU/IbisSoftEmail: [email protected]

[email protected]