
“Good Enough” Architecture [video] - kiyanwang
https://www.youtube.com/watch?v=PzEox3szeRc
======
lolc
Nice talk. Somewhere in the middle I realized it was a room full of people and
we don't do that anymore. How long will it be? Anyway, back to topic.

To hear him tell it, the situation is clear. And the path forward doesn't need
discussion because analysis and recommendations are done. I shuddered at the
insane 6 month change process story. Yet it's not that clear when you're in
the middle of it. There are all these frustrations. People talk about
rewriting. And a lot of things should have been completed yesterday. The tests
are not written. Deployment relies on hacks you won't tell.

It helps a lot to have an outsider come in, look at the architecture, the
processes, and just ask why. They say "look if you do this you'll have x, y,
and z problems." And you realize that you indeed have x, y, and z. It's just
always been that way. And often you understand you're stuck with it for the
foreseeable future. Talking about architecture so that you know where you want
to go, will allow taking incremental steps in the right direction.

------
transitivebs
I wish I understood the distinction earlier on in my career between scalable
solutions and doing things "the right way" from the perspective of a CompSci
background versus focusing on product / business and having an architecture
that's "good enough".

Great talk - this type of mentality should be required understanding for
software engineering & computer science students.

------
foxfired
"Good Enough" is unfortunately something you learn after you destroyed a
system. Everything makes sense when you are building the new architecture
until someone else complains.

------
pezo1919
To me good enough practically means almost perfect, because it's just matter
of time you go broke with an imperfect architecture.

To me the relevant keywords for the futures programming environment and
architecture: FRP, Cycle.js, Idris.

~~~
codr7
Just breathe through it, it's a phase.

Every good solution will be some kind of compromise, keeping it simple is more
important than picking "perfect" tools.

