In The Software Studio: A Software Production Process, I proposed the idea that we should think of the software production process in much the same way that movies are produced: with distinct phases through which the production proceeds. The more I think about it the more I realise how the technical aspects of software, in particular the underlying sophisticated hardware it runs on, are a decoy to the fact that software is essentially a medium, much in the same way that a canvas or radio is. Yet you will never find the disciplines of software development aligned with traditional media education. The media disciplines have always been treated as having strong artistics tendencies hence most schools would consider them as falling under the faculties of the arts (B.A., M.A. etc.). But as tools that facilitate the interaction of users, they are a form of interactive medium. If it is any wonder why there are few established disciplines of software design and development I would aver that it the artistic nature of software development in the interest of some audience that limits how repeatable the outcome will be. Much in the same way in which film directors and photographers and novelists have considerable creative freedom by which to approach their expression I would argue that the same applies to tailoring software to the needs of its intended audience.
The following is a growing list of fields which I would consider fall under media production.
Designing software is every bit as creative and imaginative as writing an epic novel or composing a symphony. Designing software is high art.