Importance of communication in SW Development

Thursday, July 28, 2005 Posted by Cecilia Loureiro-Koechlin

I’ve been reading about structuration theory from Giddens (The constitution of society, 1984). This theory tries to describe and explain the nature of social phenomena, like human actions and interactions. I came across two interesting concepts: practical and discursive consciousness. Practical Consciousness is the ability to act according to one’s stock of knowledge (to act in a knowledgeable way) and Discursive Consciousness is the capacity of articulating one’s knowledge (expressing what we know). I find these ideas very informative at explaining some communication issues in software development. Being able to perform actions does not mean that one can describe them. The ability to articulate ideas is a higher level skill that needs reflection from users and developers. I can relate this concept to two aspects of software development.


First, from my readings in online forums I see that developers do not follow formal methodologies. They use what they call “common sense” and perform the activities the way they think is best. That is, they can act in a knowledgeable way (Practical consciousness). However, few of them will admit that they follow any methodology at all. I say that whatever you are doing, if your actions are based on your knowledge about the situation and software tools and if you have organised these actions in a sensible fashion, then you are following a methodology. The problem as I see it is that (most) developers are incapable of expressing and more importantly justifying their selection of practices in a rational way other than “it is common sense”. Applying some reflection on their jobs could help developers to explain why and where they think the practices work better and thus help their colleagues and justify their actions with management.


I can also relate these concepts to Ethnography (a method developed by anthropologists used to observe people performing their everyday activities). The acknowledgement of a difference between practical and discursive consciousness could justify developers working with users and the use of ethnographic methods in ISD. Asking users about what they do would not be enough (as we are not sure about their discursive consciousness). Rather observing people performing their activities as they normally do would add more value to the gathering of requirements.

  1. Anonymous

    I like your use of structuration to justify why developers know more than they can tell. Perhaps one could observe them. But will this explain entirely the context where they are operating? Should we also observe other people with whom developers are interacting with?

    El foco

Post a Comment