Primer
Radovi / Marketplejs
Sagrađen oko prodavaca.
Oglasi, pretraga i isplate delili su isti kod, a izmena prodavca čekala je da je noćna obrada primeti.
Ilustrativan primer. Nijedan klijent se ovde ne imenuje dok nemamo njegovu pisanu saglasnost.
Podaci o projektu
- Klijent
- Nezavisni operater marketplejsa
- Sektor
- Marketplejs
- Sastav tima
- Dva inženjera, dizajner sa pola radnog vremena
- Saradnja
- Jedan neprekidan angažman, nedeljni demo
Studija slučaja
Izazov
Marketplejs je rastao onako kako to obično biva: jedna aplikacija koja objavljuje artikle, pretražuje ih, naplaćuje i zatim isplaćuje novac. Svaki od tih poslova nosio je svoj rizik pri objavi, a svi su delili isti deploy.
Prodavci su to prvi osetili. Promena cene, nova fotografija ili zatvoren oglas išli su u red čekanja i pojavljivali se u prodavnici tek posle noćne obrade. Podrška je jutra provodila objašnjavajući zastoj za koji niko nije video razlog.
Pristup
Nismo krenuli od pisanja svega iznova. Krenuli smo tako što smo iscrtali šavove koji su već postojali — mesta na kojima kod menja temu — i dogovorili koji od njih zaslužuju ugovor. Oglasi, pretraga i isplate izdvojili su se kao tri servisa sa tipiziranim interfejsima, dok prodavnica čita iz indeksa koji se po potrebi gradi iznova.
- Pisani ugovor za svaki servis pre nego što se kod pomeri.
- Jedan po jedan šav, svaki iza prekidača i svaki spreman za demo.
- Stari put je radio sve dok novi nije davao iste rezultate u produkciji.
Ishod
Izmena prodavca sada se upisuje jednom i čita direktno u prodavnici, pa noćna obrada više ne odlučuje kada prodavnica izgleda ispravno. Pretraga se može indeksirati iznova bez zadiranja u plaćanja, a plaćanja se objavljuju bez čekanja na pretragu.
Prodavnica
Jedan katalog, koji obe strane čitaju isto.
Rezervisani okvir — prikaz oglasa u prodavnici.
Problem
Sve je čekalo istu noćnu obradu.
Oglase, dokumente za pretragu i zapise o isplatama upisivala je ista aplikacija u istoj transakciji, pa je izmena bilo čega od toga značila objavu sve tri celine.
Noćno indeksiranje bilo je jedino što je prodavnicu dovodilo u sklad sa bazom. Dok se ne bi izvršilo, prodavac i kupac gledali su dve različite prodavnice.
- Izmene prodavaca čekale su noćno indeksiranje.
- Ispravka u plaćanjima nije mogla da izađe bez objave pretrage.
- Podrška je taj zastoj trpela kao pritužbu bez objašnjenja.
Pristup
Tri servisa, tri ugovora.
Podelili smo posao po šavovima koje je domen već imao, a ne po onima koji bi lepo izgledali na dijagramu. Servis oglasa je vlasnik onoga što prodavac upiše, pretraga onoga kako se to pronalazi, a isplate onoga što je obračunato — i svaki od njih objavljuje tipizirani ugovor kojeg se ostali drže.
Ništa nismo prebacili odjednom. Na svakom šavu stari i novi put radili su uporedo iza prekidača, sve dok se novi nije izjednačio sa starim na stvarnom saobraćaju; tek je tada stari uklonjen.
- Tipizirani ugovor po servisu, napisan pre podele.
- Stari i novi put uporedo dok se novi nije izjednačio.
- Indeks prodavnice koji se gradi iznova bez objave.
Njihovim rečima
Prodavci odmah vide svoje izmene, pa je iz naše podrške nestala čitava kategorija pritužbi.
Ilustrativan citat. Stvarne preporuke objavljujemo samo uz saglasnost klijenta.
Detalji
Tri ekrana koja prodavac zaista koristi.
Uvođenje prodavca. Pretraga i filteri. Izveštaj o isplati.
Ova studija slučaja je ilustrativan primer. Klijent, citat i sve slike na ovoj strani stoje samo kao privremeni sadržaj — nijednog stvarnog klijenta ne imenujemo i nijedan njegov podatak ili rezultat ne objavljujemo dok nemamo pisanu saglasnost.