localhost.co.rs

Software architecture consulting

When the system stops coping with growth: we find the bottleneck, decide where the boundaries between parts belong, and in what order to fix it — without rewriting everything.

What you get

  • →A finding on where the bottleneck is and why the system is slowing you down
  • →A drawing of how the system should be split, readable by a non-technical reader
  • →Decisions written down with the reasoning, so in a year anyone knows why
  • →An estimate of what will cost the most if it is left as it is
  • →An order of moves — what first, what can wait, what should not be done at all
  • →A handover to your team, if someone else does the building

Technologies

C4 modelEvent StormingDomain-Driven DesignPostgresKafkagRPC

Audit ima najviše smisla pre nego što nešto pukne — kada estimate-ovi postaju “zavisi”, kada se isti problem ponavlja u tri različita feature-a, ili kada razmišljate o rewrite-u.

Čitamo kod, gledamo git istoriju, pričamo sa ljudima koji kod pišu i koriste. Tek onda crtamo. Rezultat su ADR-ovi i C4 dijagrami koje tim može da koristi sutra — ne prezentacija koja se pogleda jednom.

Primeri iz prakse

Radilo je za pedeset korisnika, sad puca na petsto. Sistem je napravljen dok je firma bila mala i tada je bio sasvim u redu. Sada se ruši u špicu, a niko ne ume da kaže gde je tačno usko grlo.

Svaka nova stvar dira pola sistema. Ono što je nekad trajalo dva dana sad traje dve nedelje, a procene su postale „zavisi”. To nije lenj tim — to je sistem bez granica između delova.

Dve firme se spajaju. Dva programa, dve baze, iste mušterije u oba. Treba odlučiti šta ostaje, šta se gasi i kojim redom, pre nego što se potroši godina na pogrešan redosled.