Besides the technical view of software (data and their structures, algorithms, invocation of procedures, etc) there is the social view of software. This view looks at a piece of software as part of a social context, influencing it and being influenced by it.
Structures
All social systems have distinct behaviours and social practices - their way of doing things. You get glimpses of this when you are around people from different cultures or countries—the bluntness of the Nigerians and the politeness of the Tanzanians, for example. But these are only superficial examples; if you look deeper you will find more significant social patterns in the members of a social system, like in how they interpret or view the social world and how they judge what is right and wrong.
What causes the members of a social system to have common practices and behaviour? Giddens and others say it’s caused by a property of social systems called structure. A structure can be understood as objective rules and resources that members of a social system draw on in their everyday lives. These rules and resources both enable and constrain the members’ actions and therefore condition members to act in a certain, uniform way.
But what establishes structures in a social system? They are established by the actions of the social system’s members. As the members act and interact in the course of their everyday lives, regularities in their actions emerge. Gradually more and more members’ actions accord with these regularities until, eventually, these regularities are taken for granted and thought of as “how we do things here”. At this point, the regularities have been objectified into a structure - the rules and resources that guide future actions.
Once established, a structure is reaffirmed when members continue to use the rules and resources that constitute the structure. It follows that if the members challenge the rules and misuse or fail to use the resources then the structure will eventually change or collapse.
The cycle—members’ actions establishing and maintaining structures and structures shaping members’ actions—was Giddens’ contribution. Before him the theory was either structure shapes action or actions establish and maintain structures. Giddens took out the either…or… and put in both…and…
Software as a Structure
Orlikowski took Giddens’ theory and used it to study technology in organisations (a form of a social system). She suggested that technology (which includes software) can be viewed as one type of structure in a social system.
A software application is constructed in two ways - materially and socially. The material construction is developing an artefact that enables certain actions to be performed on a computer and constrains how these actions can be performed. In more familiar words, it is to develop rules and resources. But these rules and resources aren’t really rules and resource if no one uses them. (If no one submits to a rule, then it's not really a rule and if no one uses a resource, then it’s not really a resource.) Software that is merely materially constructed is meaningless and unimportant.
To consummate the construction of a software application, it is socially constructed. This happens after the application is deployed and is in use in a social system. As the members of a social system interact with it, they will interpret (attach meaning) and use it in different ways, influenced by individual and social factors. For example they may interpret it as a wholesomely valuable resource and therefore use it frequently. They may interpret it as a threat to their jobs and so avoid using it. Or they may interpret it as having some valuable features (possibly the cursory ones) and so use and emphasise those while ignoring and downplaying others. And thusly the members’ actions, in interpretation and use, establish and shape the social aspect of software.
A software application that is interpreted negatively, and so is unused, is an economic failure. Therefore software development organisations will usually materially construct and reconstruct their applications to fit a social context and gain usage. In this way, society shapes the material aspect of software.
When a software application fits a social system and it is used repeatedly as a matter of course, when it is taken for granted and thought of as “just what we use” then it become an objective thing, a structure that then shapes how things are done in the social system.
In my life, WhatsApp is a structure. And at the university I went to, the e-learning platform was a structure.
So what?
To be continued… Maybe.
References
Orlikowski, W. J. (1992). The duality of technology: Rethinking the concept of technology in organizations. Organization science, 3(3), 398-427.
Anthony Giddens. (1984). The constitution of society: Outline of the theory of structuration. Univ of California Press.