Highlights from YOW! Australia 2019

Jason Yip
Jason Yip
Dec 22, 2019 · 4 min read

I recently spoke at YOW! Sydney, Brisbane, and Melbourne.

I’ve posted the slides to my talk on SlideShare but here are my highlights from the other speakers.

Gene Kim: The Unicorn Project and the Five Ideals

Architecture is a better predictor of performance than even Continuous Delivery.

Good architecture is measured by “lunch factor”: how many people do you need to take to lunch to get something done.

Larene Le Gassick: Full Stack Accessibility, and the Business Case for Inclusion

Use of Javascript frameworks is correlated with more accessibility errors…

Referenced Microsoft’s Inclusive Design Toolkit which includes an interesting diagram distinguishing permanent vs temporary vs situational disability. The affected audience is much larger than just permanent disability.

Mandy Michael: Frictionless Frontends for Backend Developers

Emphasised the value (and relative ease) of building something simple from scratch rather than start with a bootstrap library that you eventually need to replace.

For me this was really just updating what is the state of play of Web frontend technology and resources including very recent (1 week old), new browser capabilities.

Some web sites referenced that I thought were neat:

Arty Starr: The Ultimate Metric

Human understanding is the limiting constraint in software development; friction in software development is the time to recover understanding.

She has a book called Idea Flow on Leanpub that expands on the idea.

Limiting constraint concept is from Theory of Constraints. Made me think about whether this was true given I’m wary of the entire idea of single limiting constraints. Reminded me of Allen Ward’s product development wastes in Lean Product and Process Development.

Rebecca Wirfs-Brock: Growing Your Personal Design Heuristics

Discussed understanding and cultivating your own personal design heuristics rather than just rely on others.

Found a version of this talk online.

James Shore: Evolutionary Design Animated

Simple design, continuous design, reflective design.

It’s easier to add design that’s missing than it is to rip out design that’s wrong.

James Shore’s Rules for Simple Design:

  • Every Concept Once
  • … and Only Once (Don’t Repeat Yourself) [He prefers Once And Only Once (XP) over the Don’t Repeat Yourself (DRY, Pragmatic Programmers) because of being more clear that ensuring every concept is expressed is itself an important point.]
  • Design intent clear and obvious
  • Concrete, not speculative
  • Cohesive: code that changes together, stays together
  • Decoupled: if it’s out of sight, it’s safely out of mind
  • Isolated: if it’s widely used, it’s abstracted by an interface

This is a nice summary of the design taste that was expressed on the Portland Pattern Repository (c2.com) in the late 1990s, early 2000s. More complicated than Kent Beck’s rules for simple design which I tend to default to.

He mentioned that evolutionary design is not applicable when dealing with code that you don’t control (i.e., across interface boundaries). I was surprised that he didn’t mention Conquer and Divide as a way to address this.

Ken Scambler: Grow Your Own Tech Leads

Essentially emphasised the importance of being predictable and reliable (aka “don’t be terrible”) and the positive impact this has on your boss and colleagues.

James Lewis: Scale, Microservices, and Flow

Mentioned the thing about how organisational productivity typically drops with scale while city productivity increases with scale. I was never clear how that insight translates to how we might design organisations or even if it does.

Erik Dörnenburg: Ready for Rust

Rust is the future of systems programming.

Hillel Wayne: Designing Distributed Systems with TLA+

I’ve been sceptical about the practicality of formal methods for a long time.

From what I can tell, TLA+ is running a simulation of a complex system to highlight points of failure which would otherwise be very difficult to detect, even with disciplined TDD and review.

Looks interesting enough to follow-up on.

He has a book: Practical TLA+

Simon Brown: The Lost Art of Software Design

His approach seems similar to how we typically approached the preliminary technical exploration in Inceptions at ThoughtWorks when I was still there.

I see the C4 diagrams as boundary objects to facilitate dialogue.

Allen Wirfs-Brock: Javascript: Skeletons in the Closet

Allen was the project editor of the ECMAScript 2015 Language Specification. This talk was a behind-the-scenes history of the birth and evolution of Javascript which was as messy as you might expect.

My thought is not that there’s some alternate world where web development is done in Scheme but rather that competitive dynamics meant a lot of the messiness was inevitable.

This feels like a variant of Worse is Better.

Sabine Hauert: Swarm Engineering Across Scales: From Robots to Nanomedicine

Instead of relying on expensive, intelligent robots, first send a dumb, cheap, random swarm cloud which leaves trails for a subsequent expensive, intelligent robot to follow.

Michael Hunger: How Graphs Help Investigative Journalists to Connect the Dots

I had no idea Neo4J has been used to analyse a lot of the big leaks of the last few years: Panama Papers, Paradise Papers, TrumpWorld.

Cat Swetel: 193 Easy Steps to DevOpsing Your Monolith

“Is anyone familiar with the Dads Pants Manifesto?”

DevOps is NOT just a mindset. [Same for most things]

Psychological safety is important but nowhere near sufficient to improve a sociotechnical system.

Jason Yip

Written by

Jason Yip

Senior Agile Coach at Spotify, ex-ThoughtWorks, ex-CruiseControl

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade