Why Software Engineering Lacks Consensus: Decoding Demand, Value, and Strategy
This article explores the difficulty of establishing a shared language in software engineering, outlines three essential domains and mindsets for developers, delves into demand analysis, product value, user experience, and strategy, and contrasts ToC and ToB approaches while highlighting practical documentation outputs.
1. The Challenge of Consensus
Software engineering suffers from ambiguous natural‑language expressions, leading to misunderstandings among product, development, testing, and operations teams.
2. Three Core Domains
From requirement to code, three complex areas must be addressed: Requirement & Product Solution , Modeling , and Architecture Design .
3. The Three Brainheads
Technical staff need three perspectives: User Thinking (understanding the customer), Modeling Thinking (building domain models), and Architecture Thinking (designing systems).
4. Understanding Demand
Demand is not merely a market need; it is a function of technology, people, politics, economy, society, and culture. True demand equals recognition of reality, and can be broken down into increasingly specific descriptors (e.g., "eat cheap traditional Cantonese food").
5. Product Value
Value consists of user value (rational: price, convenience, durability; emotional: coolness, fun) and commercial value . User value is compared as new value – old value – switching cost. Misidentifying value leads to product failure.
6. User Experience
Defined as the minimal cost for a user to achieve their goal, user experience includes performance metrics (load speed, latency), UI design, and for physical goods, price is the core experience factor.
7. Strategy
Strategy is a scientific hypothesis—a set of choices that trade off alternatives. It encompasses market analysis, ecosystem (value chain) analysis, product/marketing tactics (STP, 4P, diffusion), core competencies, and business models.
8. ToC vs. ToB
Consumer‑oriented (ToC) products focus on user experience and emotional value, requiring deep insight into human nature. Business‑oriented (ToB) products prioritize commercial value and demand strong industry knowledge (e.g., retail, finance, compliance).
9. Software Engineering Streams
Two contrasting streams exist: the Classical School that seeks formalized, standardized artifacts (use cases, UML diagrams), and the Agile School that favors rapid iteration and minimal documentation.
10. Documentation Outputs
BRD (Business Requirement Document): strategy, market analysis, business value.
MRD (Market Requirement Document): target users, launch plan.
PRD (Product Requirement Document): features, UI/UX.
FSD (Functional Specification Document): technical details.
11. Role of Technical Staff in Requirements
Technical staff can either support product managers by challenging feasibility and spotting logical gaps, or act as technical product managers for platform products, where deep product thinking is essential.
Tencent Cloud Developer
Official Tencent Cloud community account that brings together developers, shares practical tech insights, and fosters an influential tech exchange community.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
