Notes by Retraice

Ma13: Architecture Is a Hypothesis NOTES


Listen Later

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.

...more
View all episodesView all episodes
Download on the App Store

Notes by RetraiceBy Retraice, Inc.