Finally started a blog. What’s that about “early adopters”?. This one will be on Software Process And Assorted Topics.
I will be pursuing what I pursue in my column in “Communications of the ACM”, which is that software is a knowledge medium and that software development is primarily a knowledge acquisition process (rather than a product production process).
That said, of course I will be learning those aspects of WordPress’s blog software for the immediate future. The blog entries are not software of course, they are words in a book. Some of how the words get into the book are software-ish. Which prompts the first observation:
- Could “software engineering” be likened to the technological knowledge of, say, typesetting?
The term “software engineering” is a tad recursive. Given that software is a knowledge medium, then the engineering of the thing would be the engineering of a medium, not the engineering of the knowledge in that medium. In fact most of what we call “software engineering” is really “domain engineering”.
If I’m building a battery monitor for a cell phone, I’m not particularly engineering the knowledge of software, I’m engineering the knowledge of the battery (its charge, capacity, drain characteristics), the phone, (its power requirements, how it drains the battery), and the display (how to tell someone what the battery status is). Much of the knowledge in the battery monitoring software is related to the operation of the physical device: how the interrupts work, how to recognize timer events, how to recognize that the voltage on the circuit (assumping I’m using a voltage-driven approach) is below a certain level, etc. Little of this relates to the software.
“Software Engineering” in its most straightfoward form would be the knowledge of the knowledge format (in software), not the knowledge of the knowledge content. This is why I think the concept of “software engineering” will disappear, or at least morph into something that more closely describes what we really do in building software-based systems.