encourage mutual trust, respect and care among de-
velopers themselves and to the customer as well. The
key of knowledge sharing here are the interactions
among members of the teams which happen voluntar-
ily, and not by an order from the headquarters (Cock-
burn and Highsmith, 2001).
5.4 Team Work
In Tayloristic teams different roles are grouped to-
gether as a number of role-based teams each of which
contains members who share the same role. In con-
trast, agile teams use cross functional teams. Such
a team draws together individuals performing all de-
fined roles. In knowledge intensive software devel-
opment that demands information flow from different
functional sub-teams, role based teams tend to lead
to islands of knowledge and difficulties in its sharing
among all the teams emerge. Learning, or the inter-
nalisation of explicit knowledge, is a social process.
One does not learn alone but learns mainly through
tacit knowledge gained from interactions with others.
Furthermore, tacit knowledge is often difficult to be
externalised into a document or repository. A reposi-
tory by itself does not support communication or col-
laboration among people either. Due to the high com-
plexity of the software process in general, it is hard to
create and even more difficult to effectively maintain
the experience repository (Rus and Lindvall, 2002).
6 CONCLUSIONS
In Software Engineering many development ap-
proaches work repeating the basic linear model in ev-
ery iteration, then in a lot of cases an iterative devel-
opment approach is used to provide rapid feedback
and continuous learning in the development team. To
facilitate learning among developers Agile methods
use daily or weekly stand up meetings, pair program-
ming and collective ownership. Agile methods em-
phasis on people, communities of practice, communi-
cation, and collaboration in facilitating the practice of
sharing tacit knowledge at a team level. They also fos-
ter a team culture of knowledge sharing, mutual trust
and care. Agile development is not defined by a small
set of practices and techniques. Agile development
defines a strategic capability, a capabilityto create and
respond to change, a capability to balance flexibility
and structure, a capability to draw creativity and in-
novation out of a development team, and a capability
to lead organizations through turbulence and uncer-
tainty. They rough out blueprints (models), but they
concentrateon creating working software. They focus
on individuals and their skills and on the intense in-
teraction of development team members among them-
selves and with customers and management. Since
software development is a knowledge intensive ac-
tivity, we think that a better understanding from a
Knowledge Management perspective offers important
insights about Reusability and Software Engineering.
REFERENCES
Apostolou, D. and Mentzas, G. (2003). Experiences from
knowledge management implementations in compa-
nies of the software sector. Business Process Man-
agement Journal, 9(3).
Beck, K., Beedle, M., Bennekum, A. V., Cockburn, A.,
Cunningham, W., Fowler, M., Grenning, J., High-
smith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B.,
Martin, R. C., Mellor, S., Schwaber, K., Sutherland, J.,
and Thomas, D. (2001). Manifesto for agile software
development. Available at http://agilemanifesto.org.
Chau, T. and Maurer, F. (2004). Knowledge sharing in ag-
ile software teams. In Lenski, W., editor, Logic ver-
sus Approximation: Essays Dedicated to Michael M.
Richter on the Occasion of his 65th Birthday, volume
3075 of Lecture Notes in Artificial Intelligence, pages
173–183. Springer.
Chau, T., Maurer, F., and Melnik, G. (2003). Knowl-
edge sharing: Agile methods vs tayloristic meth-
ods. In Twelfth International Workshop on Enabling
Technologies: Infrastructure for Collaborative Enter-
prises, WETICE, pages 302–307, Los Alamitos, CA,
USA. IEEE Computer Society.
Cockburn, A. and Highsmith, J. (2001). Agile software
development: The people factor. IEEE Computer,
34(11):131–133.
Fowler, M. (2001). The new methodology. Available at
http://www.martinfowler.com/articles/newMethodolo-
gy.html.
Highsmith, J. (2008). Reuse as a knowledge
management problem. Available at http://
www.informit.com/articles/article.aspx?p=31478.
Mentzas, G. (2000). The two faces of knowledge manage-
ment. International Consultant’s Guide, pages 10–
11. Available at http//imu.iccs.ntua.gr/Papers/O37-
icg.pdf.
Nonaka, I. and Takeuchi, H. (1995). The Knowledge Creat-
ing Company. Oxford University Press.
Rus, I. and Lindvall, M. (2002). Knowledge man-
agement in software engineering. IEEE Soft-
ware, 19(3):26–38. Available at http://fc-
md.umd.edu/mikli/RusLindvallKMSE.pdf.
KNOWLEDGE SHARING IN TRADITIONAL AND AGILE SOFTWARE PROCESSES
379