Steps in Architecting a Solution
Oct 14, 2022 | Jagannath Rajagopal | 2 min read
How does one pull together? The end goal is to build an architecture of Hero methods to solve your ultimate problem. Feel free to use this article as reference to understand our approach. By itself though, it’s probably not as easy to work through. So, we applied this to a Use case for you — a series of articles. Start here instead if you wish.
Compile what has worked or not, in the past
- Expert knowledge (with a pinch of salt). All assertions need to be validated experimentally.
- Prior results (scientific literature, best practices, guidelines, …).
- What you already know from applying Hero methods to your problem
Top-down, imagine different architectures for your problem. Four parts to this, in order —
Problem Structure as starting point
- Define the solution as a network of interconnected “black boxes”.
- Identify ideal inputs/outputs for each stage.
- Start at a very general level, then add parts where complex tasks are split into simpler ones.
Imagine fundamentally different architectures to solve each sub-problem
- Using different Hero methods
- Solve more than one step using a single method
- Solve a step by combining more than one method together
- Solve a task early, or solve it late
- Don’t swap techniques in the same family at this stage — reinforcement learning instead of supervised (methods are more important than techniques at this stage.
Combine these to form multiple architectures
- Visualize these from different angles — a process view, an input transformation view, etc.
- Play with different levels of definition and more detailed architectures
Select an architecture
- Decide on selection criteria.
- Shortlist and pick one to try.
Top-down, imagine architecture pipeline variants for the selected
- Classify each step in priority — must vs nice-to-have.
- For each step/method, select alternative techniques.
- Decide on selection criteria for each step.
- Start with must-have steps.
- Decide on prototype scope.
- Design list of experiments from shortlisted techniques in 3d.
- Design metrics and indicators.
- Design a way to efficiently store and reuse experiment results.
- Decide on go/no-go criteria for pipeline variant.
- Build and test for each experiment in the list
The last one — 7 — has further steps
- For independent steps, they can be built in parallel.
- For steps in sequence, build in sequence.
- Connect output to input.Feel free to stop half-way if results are satisfactory.
- If step 4 passes, expand. Add nice-to-have steps. Add scope.
- If step 4 does not go as well, go back to step 2 or 3. Rinse and repeat.
- Make giant leaps and then small steps. If something does not work, try something different instead of polishing what does not work. Once you’ve tried a few largely different variants, you may get a better feel for which ones to polish.
Design Thinking for Hero Methods!
An email is on it's way.
An email is on it's way.