Wink, winkPerfection is achieved when there is nothing left to take away, or is it?
What’s in a wink?
Is she flirting?
Is he sharing an inside joke?
Is it a twitch?
Such a simple gesture can convey a lot of meaning, depending on the context.
But is it a simple gesture?
Well, taken alone, yes. You close one eye. That’s it.
Except that there’s so much context behind that simple gesture. Who is winking at you? Is it a colleague, during a boring meeting? Or a stranger at a bar?
This is a demonstration of a concept from information theory. In layman’s terms: More complicated rules can allow for simpler messaging.
This can be a bit counter-intuitive when day in and day out it’s drilled into our heads, as engineers, to strive for simplicity.
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
― Antoine de Saint-Exupéry, Airman’s Odyssey
Yet here we have a case where increasing complexity of rules can reduce complexity of messaging. We can see the reverse is often true as well.
Toward the “simple rules, complex messages” end of the spectrum we might have things like hand gestures, and HTTP 1.1 with JSON payloads. Toward the “complex rules, simple messages” end, we might have things like a wink across a crowded room, or gRPC over HTTP 2 with gzip compression.
I guess it’s not always as simple as striving for simplicity.
Is your team closer to the few-rules/high-context, or the many-rules/low-context end of the spectrum?
Run your tests
"Oh yeah, we have lots of tests! I'm not sure if they work, though."
The observer effect
The only way to get accurate software development estimates is to do the software development.
Improve your software delivery