| Lesson 3 || Perspectives |
| Objective || Stakeholder perspectives impact architectural requirements. |
Perspectives impact Architectural Requirements
In e-Business, functionality is the minimum price of admission. In other words, your site can work,
but if the graphics take too long to download, are people going to come back?
Architecture is about performance against stakeholder-defined criteria. In other words, the architect needs to consider performance (metrics) when prescribing a solution that meets the stakeholder-defined criteria.
The architect must view the problem space from the perspective of each stakeholder. These perspectives will vary, depending on the relationship the stakeholder maintains with the business entity of concern.
Successful architecture must not only meet functional requirements (criteria), it must also differentiate itself from alternative solutions.
Architect vs. contractor
For example: You want to buy a house. The most important specification is that it has four bedrooms.
How do you choose between a ranch and bi-level that both meet the same requirements? It would come down to the way you perceived the characteristics of each house. However, characteristics always must be prioritized.
Amazon started off purely selling books to online customers. How did Amazon begin choosing which functionality would be implemented as it grew?
Now that Amazon is attempting to be all things to all people through massive expansion of business functions, how are they going to differentiate their business offerings through added functionality?
Essentially, it boils down to how the end user is going to perceive both Amazon as a whole, and characterize (differentiate) between each of its service offerings.
In the end, users prioritize both Amazon and each of its features/functions against other service offerings in the marketplace.
It is easy for an architect to under- or over-engineer a solution. An architect needs to understand where the line between good and good enough exists.
It is most important to identify and implement those things that will increase the probability of meeting the specified objectives.