Digging into the fundamentals of extreme programming building the theoretical base for agile methods
Kahkonen, Pekka Abrahamsson · 2003
Extreme programming (XP) is an accepted and widely used agile software development method with active user communities worldwide. There exists a great deal of anecdotal evidence to support the use of XP in different situations. While some empirical evidence regarding the use of a certain composite of XP practices exist, no scientifically grounded theory exists. Based on the notion that software engineering is knowledge-intensive work, we show that generic knowledge management theories can be used to explain how XP practices improve an organization's agility. Tuomi's [I. Tuomi, (!999)] model for knowledge creation is used to explain the different practices of XP. This gives a new perspective to agile processes and enables others to express agile practices in a more generic way. It is shown that agility is a result of a more effective knowledge creation process involving both the customer and development team. Based on this, practical implications and future research needs are identified.