01Analiza procesaProlazimo ceo tok rada: ko šta radi, gde su podaci i zašto je sada nezgodno
02Granice prve verzijeDogovaramo šta ulazi sada, a šta kasnije — da se pokretanje ne odlaže beskonačno
03PrototipKlikabilni ekrani na kojima se vidi logika pre pisanja koda
04Radna verzijaJezgro procesa pokreće se na stvarnim podacima, sa njim počinje da radi deo tima
05Dorade po povratnim informacijamaPopravljamo ono što smeta u stvarnom radu, a ne ono što je na papiru delovalo važno
06Predaja i razvojKod, dokumentacija i pristupi su kod Vas; sledeće etape rade se po potrebi
KAKO RADIMO
Od analize procesa do sistema u radu
app.example.rs
Interni sistem firme
OK
Analiza procesa
7 uloga
Granice prve verzije
obim utvrđen
Prototip
usaglašeno
Radna verzija
u probnom radu
Dorade po povratnim informacijama
14 izmena
Predaja i razvoj
u produkciji
Analiza procesaProlazimo ceo tok rada: ko šta radi, gde su podaci i zašto je sada nezgodno
Granice prve verzijeDogovaramo šta ulazi sada, a šta kasnije — da se pokretanje ne odlaže beskonačno
PrototipKlikabilni ekrani na kojima se vidi logika pre pisanja koda
Radna verzijaJezgro procesa pokreće se na stvarnim podacima, sa njim počinje da radi deo tima
Dorade po povratnim informacijamaPopravljamo ono što smeta u stvarnom radu, a ne ono što je na papiru delovalo važno
Predaja i razvojKod, dokumentacija i pristupi su kod Vas; sledeće etape rade se po potrebi
KADA JE OVO POTREBNO
Znaci da je proces prerastao improvizovana rešenja
Kako sada radi
Ključni proces živi u tabeli koju istovremeno menja više ljudi
Obračun radi jedan zaposleni, a dok je na odmoru nema ko da ga zameni
Podaci se prepisuju između tri programa i u nekom trenutku se raziđu
Gotov sistem je skup i opet ne pokriva ono glavno — Vašu specifičnost
Svaki novi zaposleni uči po usmenim objašnjenjima, a ne po sistemu
Kada je proces u sistemu
Pravila obračuna zapisana su u kodu, a ne u glavi jedne osobe
Svaka radnja je vidljiva: ko je, kada i šta promenio
Podaci se unose jednom i ne razilaze se između sistema
Novi zaposleni uči radeći u sistemu — on sam zadaje redosled koraka
Sistem se može razvijati: Vaš je, a ne iznajmljen od dobavljača
ŠTA ULAZI U PROJEKAT
Sastav radova
Analiza procesa
Razgovori sa onima koji rade i opis toga kako sve zaista funkcioniše.
Granice prve verzije
Šta pokrećemo sada da bismo brzo dobili korist, a šta svesno odlažemo.
Model podataka
Entiteti, veze, prava pristupa i istorija izmena — temelj koji se kasnije ne menja jeftino.
Interfejs po ulogama
Različiti ekrani za različite uloge: svako vidi ono što mu treba, a ne sve odjednom.
Integracije
Veza sa sajtom, CRM-om, evidencijom, plaćanjima ili opremom — po potrebi.
Izveštaji
Brojevi zbog kojih je sve i počelo — uz izvoz za one koji rade u tabelama.
Testovi
Automatske provere ključnih obračuna i scenarija, da ispravke ne kvare ono što radi.
Predaja i održavanje
Kod, dokumentacija, pristupi i obuka — sistem se može predati drugom timu.
KAKO OVO GRADIMO
Principi, a ne skup pomodnih tehnologija
Razumljiv stekPHP, PostgreSQL i standardan frontend — sistem može održavati i drugi timIstorija izmenaKo je i kada promenio zapis — u spornoj situaciji to je važnije od bilo kog izveštajaPrava po ulogamaPristup podacima ograničen je ulogom, a ne poverenjem u zaposlenogIzvoz podatakaVaši podaci uvek mogu da se izvezu — sistem ih ne drži kao taoceTestovi i riliziIspravke se proveravaju automatski, vraćanje je mogućeDokumentacijaOpis modela i odluka — da se za godinu dana zna zašto je urađeno tako
Kod, podaci i pristupi pripadaju Vama od prvog dana. Ne gradimo sistem tako da se ne može predati drugom izvođaču: to je loš inženjering, a ne zadržavanje klijenta.
PITANJA
Šta se obično pita
Kako proceniti projekat ako zadatak još nije sasvim jasan?
Zasebnom malom etapom: analiza procesa i opis prve verzije. Na izlazu su jasan obim, procena i prototip sa kojima se ide dalje ili se staje. To je poštenije nego reći cifru napamet, pa objašnjavati zašto je predračun udvostručen.
Nije li jednostavnije kupiti gotov sistem?
Često jeste, i otvoreno ćemo reći ako vidimo odgovarajući proizvod: razvoj po meri za proces koji je već rešen je bacanje novca. Sopstveni projekat je opravdan tamo gde specifičnost čini suštinu Vaše prednosti, a ne tamo gde se prosto želi „po svome“.
Šta ako poželimo da promenimo izvođača?
Ništa strašno se neće desiti. Kod je u Vašem repozitorijumu, dokumentacija opisuje model podataka i donete odluke, pristupi su kod Vas. Namerno ne koristimo egzotična rešenja zbog kojih bi trebalo tražiti retkog stručnjaka.
Koliko do prve koristi?
Trudimo se da jezgro procesa pokrenemo u prvim nedeljama, makar u uskom obimu: jedna uloga, jedan scenario, stvarni podaci. Tako se vidi da li ideja radi pre nego što su u nju uloženi meseci. Ostalo se dodaje povrh onoga što radi, a ne umesto toga.
Ko će sistem održavati kasnije?
Obično mi — po zasebnom dogovoru sa jasnim obimom i rokovima reakcije. Ali to nije uslov: sistem se gradi tako da ga može voditi i Vaš programer. Projekat predajemo uz dokumentaciju, a ne zaključavamo ga za sebe.