For proper formatting (bold, italics, etc.) and graphics (where applicable) see the PDF version. Copyright: 2020 Retraice, Inc.
Ma13: Architecture Is a Hypothesis Margin by Retraice1
On passing and failing tests.
Air date: Tuesday, 10th Nov. 2020, 12 : 50 PM Pacific/US.
The Screenslaver If you can’t test it you can’t know it. So build, or rebuild, to be testable.
If you don’t, you’ll get gotten by a problem like the one we had: for over a week, our live audio sounded like Screenslaver (movie: The Incredibles 2). And worse, our setup was such that, given the intermittent nature of the problem, it was virtually impossible to reproduce or isolate the cause. We had to rebuild simpler, and more testable.
Our live audio architecture hypothesis We built our setup to do a few sophisticated things, but we didn’t build it to be sufficiently comprehensible and testable.
Failure We should’ve been reviewing the live recordings, but we weren’t. And when something went wrong, the architecture was too complicated to test and isolate an intermittent problem.
Architectural hypotheses “Architecture is a hypothesis….”2 Our hypothesis was false, but we didn’t discover that until it failed a reality test.
Our response Despair, a little bit, because it was not going to be easy to fix. But we’ve gotten used to solving problems that initially seem daunting—a familiar feeling for entrepreneurs?
We now have a more simple, testable architecture (see figure).
Side note—make testing fun If it’s not fun, you won’t do (enough of) it.
Amendment—business wife You business partner does not have to be your real-life spouse, but ours are.
Figure 1: * Our old signal path diagram (never fully updated). The two things we eliminated were ‘Yamaha’ and ‘iShowU’. We did not sacrifice any features or functionality—very proud of that. The cause of the Screenslaver problem is not represented.
Figure 2: * Our new signal path diagram. The solution to the Screenslaver problem is in the MacOS settings. One mystery remains: the absence of echo in call-in audio for the caller. Is it being eliminated by AI (machine learning, ML)? This is testable but we have not tested it yet.
References Martin, R. (2018). Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall. ISBN: 978-0134494166. Searches:
https://www.amazon.com/s?k=978-0134494166
https://www.google.com/search?q=isbn+978-0134494166
https://lccn.loc.gov/2017945537
1https://www.retraice.com/margin
2Martin (2018) p. xviii.