ABSTRACT

While engineers generally enjoy their chosen vocation, organizations rarely build software-intensive systems for the fun of it. Software-intensive systems are built to achieve specific business goals and meet the needs and expectations of customers, users, and various other stakeholders. Too often in the development of software-intensive systems, engineers focus only on the wants and needs of end users, but users are only one of many stakeholders that influence the design of a system. If we consider the user stakeholder community alone, we find out that any given system may have many kinds of users, such as:

Those who use the system to enter or retrieve data n Those who configure the system, add users, and set up security n Those who install the system n Those who have sophisticated wants, needs, and expectations n Those who are unsophisticated and will need help using the system n

This is not intended to be a complete list of potential end users, but exemplifies the diversity of concerns in only one of the potential stakeholders. Focusing on users as the only stakeholder can cause an overemphasis upon functionality as a prime driver of system structure-this is not such a good idea in systemic development. In the construction of software-intensive systems there are many different kinds of stakeholders whose wants, needs, and expectations of the system will influence the design of the architecture. In addition to users, other stakeholders include coders, managers, marketers, maintainers, sales persons, and so forth. Each of these stakeholders often has different goals, expectations, and visions of the system based upon the way that he or she will interact with the system, use it, manage its construction, sell it, maintain it, market it, and so forth.