O'Reilly logo

Changing Software Development: Learning to Become Agile by Allan Kelly

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

3.6. Where is Knowledge in Software Development?

The whole software development process is an attempt to codify knowledge. We start with some vague idea of what a system should do and, through successive processes of specification, design, implementation and testing, try to turn that knowledge into a useful working model.

Our problem is that knowledge is difficult to codify. As software developers, our skills and knowledge reside in our own domain, our own field of ba. We take a problem domain, with its own ba field, and attempt to produce a product that will exist in both domains, satisfying the requirements of the problem domain while meeting the engineering requirements of our own solution domain. (Chapter 4 will look more closely at the different domains.)

Figure 3.1. Software is like an iceberg.
Figure 3.2. Solutions develop their own ba.

Software needs to exist simultaneously in these two environments. Commercially, it is the part seen by customers that tends to get priority. However, this often represents only the tip of the iceberg (Figure 3.1). As engineers, we see the bigger, more complex, problem beneath the waves.

Once our software is developed and given to users, an interesting thing happens: the software develops its own ba. In any community of software users, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required