Becoming Agile in a Non-Disruptive Way: Is it Possible?
Knowledge Transformation in Software Development Processes
1. Knowledge Transformation in Software
Development Processes
Ilia Bider - IbisSoft/DSV SU
Vs.
Presentation at GSTE 2012: http://semat.org/?page_id=561
Pre-proceedings: http://bit.ly/PGSfNG
DSV SU/IbisSoft
1
2. 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/IbisSoft
2
3. 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/IbisSoft
3
4. 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/IbisSoft
4
5. 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
DSV SU/IbisSoft
5
6. 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.
DSV SU/IbisSoft
6
7. 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
DSV SU/IbisSoft
7
8. II.b Risk inherent to SEA
1. Weak or insufficient architecture
2. Unmaintainable code
3. Lost of knowledge when developers
disappears
4. …..
DSV SU/IbisSoft
8
9. III.a Mitigating risks with ECEA –
cross-functional teams
Traditional organization
Cross-functional organization
DSV SU/IbisSoft
9
10. 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. …..
DSV SU/IbisSoft
10
11. 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.
DSV SU/IbisSoft
11
12. Thank you for your attention!
Ilia Bider, DSV SU/IbisSoft
Email: ilia@dsv.su.se
ilia@ibissoft.se
DSV SU/IbisSoft
12