Knowledge Transformation in Software Development Processes
-
Upload
ilia-bider -
Category
Documents
-
view
535 -
download
3
description
Transcript of 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.
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
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
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
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
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
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
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
DSV SU/IbisSoft9
III.a Mitigating risks with ECEA – cross-functional teams
Traditional organization
Cross-functional organization
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
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.