What are the factors that affect the development of software products?
A good programmer understands the nature of a computer and can
sympathize with it. However, the fact is, a computer's nature and necessities are worlds apart from those of its users.
Both programmars and users expect a smooth and facilitated working process, the former, of their development of softwares, the latter, of their interaction with softwares. While the programmers are obliged to build interactions catering for the users, they are often discuraged by the harsh market rules to do so.
On normal terms, the performance of a software cannot be verified until it's finished, which means that a modification from non-professional programmers would be too late.
The key to solving this problem lies in interactive designing work, in other words, a new type of interactive designers are needed. Their scope will be the formulation of work behaviors of softwares. At present, what the programmers mainly do is consciously designing the "codes" for programs, leaving little consideration for human interaction. That's to say, they design the content of a software's work, not caring how it works, communicates, or provides information. Quite on the contrary, interactive designers put to the fore the customer interaction with a software, and that between sofwares. This is a new way of designing softwares that programmers lack familiarity. As a result, they normally don't realize the importance of interaction until the design work is finalized, when a modification is already way too late.
Programmers are not malicious. What they do is to make softwares more suitable for working on. Unfortunately, they only refer to their own expertise. So what they produce are softwares handy for programing engineers, not common users.