27 Mar 2017 by mallyanitin
A deductive process is top-down. It’s data driven. It’s logical. It’s rational. It’s normative. Most architects connect their priorities to a business vision or a customer use-case. They would collect data about use-cases and current state of problems to deduce a new target state. An execution plan is built to reach this target state.
Alternatively, an inductive process is bottom-up. It’s heuristic. It’s collaborative. An inductive process is one where patterns emerge and induce architecture decisions. The assumption in such a process is that use-cases are known but not understood, and architecture decisions should not be finalized until “rubber hits the road”. Action-biased & fail-fast, & change acceptance culture.
- We analyzed all potential use-cases. We need to create Service-X, Service-Y and Service-Z; as deduced from the use-cases. These services shall be compliant to the SOA architecture style. The implementation shall use this as guidance and architecture will govern non-compliance to this guidance.
- We will start with use-case-1; We will implement a thin slice of use-case-1, and this process creates Service-A. We continue this process for use-case-2. To meet use-case-1 and use-case-2, we need to modify Service-A to Service-A1 and create new Service-B. This process leads to (induces) services A1 & B. Continuing this approach, when we are done, we will have services A5, B2, C3 and D1.
Some agile practices, also use the term “intentional architecture” for deductive and “emergent design” for inductive; and recommend a little bit of both to evolve architecture.
Architecture is a process of planning. Planning is deductive by design. Therefore, architecture is a deductive process; and architects architecting architecture are deductive thinkers. This statement is an error in deductive reasoning.
A modern architect needs to embrace both deductive and inductive thinking in architecture. The architect has to create a reference target & plan, but also modify from feedback. The architect needs to understand the perils of each type of thinking and adapt
- Deductive could be time consuming (analysis-paralysis)
- Inductive could create a mess (architectural debt)
Both methods could lead to waste. Balance is critical.
Personally, my natural bias is deductive. My adapted style is inductive. I do get stressed out when I am pure inductive. I have not yet found my balance; but have realized that balance is critical.