Developing business acumen
Practice · Chapter 3
The idea in brief
Section titled “The idea in brief”- Deep technical knowledge is necessary but not sufficient. A technically impressive system is worthless if it does not meet its goals.
- To design an appropriate architecture you must understand the business problems being solved and the business opportunities being pursued.
- Business acumen is what separates a good architect (technical knowledge only) from a great one.
Three overlapping sets of goals
Section titled “Three overlapping sets of goals”When designing, balance the goals of three focus areas that overlap and impact each other:
| Focus area | Concern |
|---|---|
| Business | The organization’s objectives (e.g. time to market, ROI) |
| Users | What users need to accomplish their tasks |
| Software system | Technical goals and quality attributes |
- Goals frequently conflict. Example: an aggressive time-to-market business goal can starve requirements analysis and QA, hurting user goals.
- The architect’s job is to find an acceptable balance among competing goals.
Familiarity with general business topics
Section titled “Familiarity with general business topics”- Understanding business language gives you a common vocabulary with the varied stakeholders you interact with.
- Useful general knowledge areas: finance, operations, management, and marketing.
- Decisions are made on ROI and cost-effectiveness analysis of alternatives — grasp these to add value to the discussion.
- Ways to acquire it: formal education, free/online classes, or reading books on the relevant topics.
Understanding your own organization’s business
Section titled “Understanding your own organization’s business”Go beyond general knowledge and study your specific organization:
- Products and services — what they are and the value they provide customers.
- Revenue model — how the organization actually makes money.
- Business processes — invest time to understand them.
- Market and trends — the environment the organization operates in.
- Competitors — what they do differently, what is similar, their strengths and weaknesses.
- Customers (most important) — what their business does, how they use your products, and why they chose you over a competitor.
Mastering business, market, products/services, and customers puts you on the path to fully understanding the organization’s domain (see Domain-driven design).
Related concepts
Section titled “Related concepts”Citations
Section titled “Citations”- Software Architect’s Handbook (Packt, 2018), Ch.3 “Developing business acumen”, pp. 138-140.