Datasheet

There are various reasons why you might want to change your devel-
opment practices. Here are a few reasons, all of them legitimate:
&
To improve the competitiveness of your team or company.
&
To improve the quality of your software.
&
To increase the productivity of your team.
&
To create new business opportunities, products and/or services.
&
To address a problem that you’re having today.
&
To save your own job, perhaps by preventing your work being
outsourced and/or sent off shore.
&
To better serve the business.
&
To enjoy your job more.
This isn’t an exhaustive list; nor are the items in the list distinct they all
overlap. Depending on your situation, some will be cause and others
effect: improving the quality may allow you to support your business
better and prevent your department being outsourced, thereby saving
your job.
In fact, everything could be reduced to the first item: improve company
competitiveness. However, this is so general as to be of little use. Most of the
other reasons can be reduced to either quality or productivity, but to do so
means losing useful information about motivation.
1.3 Software Developers are Knowledge Workers
If we look at the definition of knowledge workers, it is clear that it includes
developers:
‘‘Knowledge workers have high degrees of expertise, education, or experi-
ence, and the primary purpose of their jobs involves the creation, distribu-
tion, or application of knowledge.’’
Thomas Davenport (2005)
Indeed, writers and experts on the knowledge economy and knowledge
workers frequently cite software developers, and IT people in general, as prime
examples of knowledge workers. These are individuals who work primarily
with their knowledge. Yet it is rare for those in IT, or writers about IT, to discuss
software developers as knowledge workers. But then: Why would they? What
difference does it make?
This book will argue that by viewing software developers as knowledge
workers, and considering development activities as knowledge creation with
6 Chapter 1