10 Pregled i kontinuitet
Tehnički audit i konsultacije o arhitekturi
Pisani pregled sistema koji koristite ili odluke pred vama — arhitektura, model podataka, kod, zavisnosti, bezbednost i rad u produkciji — sa nalazima po prioritetu.
Ishod: Šta prvo popraviti, šta može da sačeka — i zašto.
Tehnički audit je pisani pregled softvera koji već koristite ili tehničke odluke koja je pred vama. Obuhvata arhitekturu, model podataka, kod i testove, zavisnosti, bezbednost i način na koji se sistem postavlja i radi — a završava se nalazima po prioritetu, uz kompromise koje svaki nosi.
Ima smisla pre dalje nadogradnje postojećeg sistema, kada ga preuzimate od drugog programera ili agencije, kao i kada birate između pisanja iz početka i postepenih izmena. Same izmene su zaseban korak — na primer modernizacija i održavanje softvera.
Tipične potrebe
- Važna tehnička odluka pred vama ili sumnje u postojeći sistem
- Planirana dalja nadogradnja softvera koji niko nije detaljno pregledao
- Tehnički rizici koje treba objasniti ljudima koji ne čitaju kod
Šta dobijate
- Pisani pregled sa nalazima poređanim po prioritetu, uz kompromise koje svaki nosi
- Preporučeni redosled rada, uključujući ono što treba ostaviti kako jeste
- Kratak sažetak za one koji odlučuju, uz tehničke detalje na kojima počiva
Pristup
Kako teče rad.
- 01
Pitanja i obim
Najpre se dogovara na koja pitanja pregled treba da odgovori — o odluci koju treba doneti, riziku koji treba proceniti ili sistemu preuzetom od drugog programera — i koje delove sistema obuhvata.
- 02
Uvid u sistem
Kod, model podataka i migracije, zavisnosti, pravila pristupa, rukovanje tajnama i podešavanja za postavljanje i CI čitaju se direktno, a zatim se porede s tim kako se sistem zaista koristi i kako izlaze nova izdanja.
- 03
Nalazi i kompromisi
Svako zapažanje se odmerava prema dogovorenim pitanjima: šta ugrožava, koliko je hitno i koliko bi rada trebalo da se reši. Beleži se i ono što je dobro urađeno, da se ne bi menjalo bez razloga.
- 04
Redosled i razgovor o nalazima
Od nalaza se sastavlja preporučeni redosled rada, a zatim se kroz njih prolazi zajedno sa vama, na srpskom ili engleskom, da bi pitanja dobila odgovor pre nego što se išta promeni.
Tehnologije
- TypeScript
- Next.js
- Node.js
- PostgreSQL
- Python
Inženjer koji radi ovaj posao je osnivač, Filip Volf — sarađujete direktno sa njim.
Pitanja
O ovoj usluzi.
Šta sadrži pisani pregled?
Kratak sažetak za one koji odlučuju, a zatim nalaze. Za svaki se navodi gde je u sistemu, zašto je važan, koliko je hitan, koje su mogućnosti i koliko rada i rizika nosi svaka, kao i šta se preporučuje. Na kraju su preporučeni redosled rada i beleška o tome šta je dobro urađeno i treba da ostane kako jeste.
Po čemu se tehnički audit razlikuje od modernizacije i održavanja softvera?
Audit se završava pisanim pregledom: šta menjati, kojim redom i zašto. Modernizacija i održavanje softvera su same izmene — nadogradnje i migracije u malim, testiranim izdanjima, a zatim redovno održavanje. Jedno može da usledi posle drugog, ali pregled je celina za sebe: po njemu možete da radite sa svojim programerima ili sa bilo kim drugim.
Kakav je pristup potreban za pregled?
Pristup samo za čitanje repozitorijumu, šemi baze i migracijama, kao i podešavanjima za postavljanje i CI, uz razgovor sa onima koji sistem održavaju. Same tajne nisu potrebne, a produkcioni podaci samo ako od njih zavisi neko pitanje. Pregled obuhvata sisteme zasnovane na TypeScript-u, Node.js-u, PostgreSQL-u i Python-u; sistem u radu se ne testira i ne menja.
Povezane usluge
- 05
API-ji, backend arhitektura i PostgreSQL
Ishod: Poslovna pravila sprovedena jednom, tamo gde su podaci.
- 09
Bezbednosna arhitektura
Ishod: Bezbednosne odluke donete promišljeno — i zapisane.
- 11
Modernizacija i održavanje softvera
Ishod: Softver na koji se već oslanjate ponovo može bezbedno da se menja.
Sledeći korak
Razgovarajmo o tome šta gradite.
Opišite šta treba izgraditi ili popraviti, kako se posao danas odvija i koja su ograničenja. Dobićete pitanja koja razjašnjavaju zahtev ili prvi predlog pristupa — imejlom, na srpskom ili engleskom.