What is Software
Software is pre-canned logic that interacts with people and data through symbols and processes.
More interesting, software is a person or team's best attempt at solving a problem using code. Sometimes, the problem is focused between data and machine; in this case, the problem domain is pure technology. In other cases, the problem is between humans and data; in this case, the problem domain is in business processes and human-computer interaction.
Each implementation of software is a page in the human story. The software's scope gravitates around some central idea that is understandable to those who implement the software. The story might be as esoteric as "how people communicate" (email, word processing, etc.) or as mathematical as "most efficient algorithm for quick storage and retrieval of ad-hoc data" (hash algorithms).
People apply software to problems. People also identify and define problems. Software solutions match the person's (or team's) understanding of a problem to the person's (or team's) understanding of the best solution, given constraints of time, money, and context.
Software that uses Web Services (over HTTP) to relay messages, for example, takes advantage of the context today that gives us XML as an agreed-upon standard, HTTP protocols, thick network pipes, inexpensive processing power and data storage capability, and widely-adopted SOAP standards. The exact same software solution, proposed 15 years ago, would be built on so many unproven assumptions about other people's understanding of solutions that it would probably not have been adopted.
Had the GANTT chart not been invented by Henry Gantt in 1917, the software called Microsoft Project would not only not exist, the concepts around the human story called "Planning" would be different today.
The human activity called "writing" has evolved from a literal word meaning pen-to-paper, to a starting point to a larger story called "publishing" (which includes "proofreading", "formatting", "editing", and other activities), to a morphing of concepts called "blogging". How we "write" and what it means to write is altered by the context of new software solutions. The words and their connotations change. The plot line in the human story takes a new twist.
Software takes a context of human activities, supports some aspect of these activities, and in the process creates the next new context (including its own new problems, ie: email from human activity "communicating" creates a context that enables "spam" to enter our lives.)
|
|
© Copyright
2005
Steve Land.
Last update:
4/21/2005; 8:40:59 AM. |
|