Web app development

Razvoj spletnih aplikacij

NaŇ°e dejavnosti vkljuńćujejo vse, kar je potrebno za razvoj spletnih aplikacij ‚Äď od zajemanja funkcionalnosti do usposabljanja uporabnikov aplikacij. Delujemo v skladu s potrebami ‚Äď ńće stranka potrebuje le specifińćno storitev, ji ponudimo tońćno to (npr. kodiranje specifińćnih funkcionalnosti, upravljanje strankinega razvojnega tima ipd.).

Specifińćne lastnosti naŇ°ega razvoja

Vir: Ken Schwaber et al. (2005). "CIOs playbook for adopting scrum method" (White Paper). Rally Software Development Corp.

NaŇ° slog razvijanja je agilen (iterativen in prirasten, ang. kratica IID). V glavnem temelji na posebnem nańćinu razvoja in upravljanja programske opreme, imenovanem ‚Äúscrum‚ÄĚ.

Aplikacija se razvija skozi iteracije, t.i. ‚Äúsprints‚ÄĚ (kot prikazuje slika). Vsaka iteracija je samostojen miniprojekt, ki ga sestavljajo razlińćne dejavnosti. Konńćni cilj iteracije je izdaja iteracije ‚Äď stabilen, integriran in preizkuŇ°en sistem, ki je delno zakljuńćen. Vse znańćilnosti, zahteve, prednosti, ocene ipd. se beleŇĺijo in hranijo v t.i. ‚ÄúdnevniŇ°kem zapisu produkta‚ÄĚ. To je stalen proces. Zahteve za naslednjo iteracijo se izberejo s sprejemanjem odlońćitev na podlagi tveganj (najzahtevnejŇ°e znańćilosti imajo prednost) in sprejemanjem odlońćitev na podlagi zahtev strank (poslovno zahtevne znańćilnosti imajo prednost).

Programiranje skozi iteracije pomeni, da se s testiranjem ne odlaŇ°a do konca projekta. Integracije in testiranja se ne prelagajo na konec meseca. Zahteve in povratne informacije se nenehno beleŇĺijo, tudi po zańćetku programiranja.

Razvoj je stalen. Povratne informacije so stalne. Napake odkrivamo zelo hitro, ko jih je Ň°e razmeroma preprosto odpraviti. Prav tam in takrat, ko jih odkrijemo.

Programiramo z naslednjimi tehnologijami

Pri Ocpei najpogosteje programiramo v Javi (Java EE 5 - JBoss SEAM Framework) in PHP-ju (PHP5 - Zend Framework).

Agilne razvojne dejavnosti

Pri Ocpei najpogosteje uporabljamo naslednje agilne razvojne dejavnosti:
  • Skupno lastniŇ°tvo kode
    Programerje rotiramo po razlińćnih modulih sistema.
  • Nadzor razlińćic
    Vedno uporabljamo usklajen model nadzora razlińćic. Vse, kar je povezano z naŇ°imi projekti, je shranjeno v nadzoru razlińćic.
  • Testiranje enot
    Testiranje enot prispeva k boljŇ°i obliki in preglednosti kode. Ustrezno izvedeni testi enot nemudoma odkrijejo morebitne teŇĺave. Temeljite spremembe v kodi se uvajajo le, ńće obstajajo zanesljivi testi enot.
  • Avtomatizacija izdelave
    Postopek izdelave je avtomatiziran, tako da ga je mogońće uporabljati pogosto in preprosto. To zagotavlja, da programska oprema deluje v vsakem trenutku.
  • Zgodnja integracija kode
    Ko je nov del programske opreme pripravljen, ga takoj integriramo. Prednost zgodnje integracije je, da zgodaj odkrijemo teŇĺave, ki se lahko pojavijo pri integraciji novih funkcionalnosti.
  • Pregledi kode
    Kodo preglejujemo in izboljŇ°ujemo v rednih ńćasovnih razmakih. To je bistvenega pomena pri ohranjanju nizkega odstotka napak in izboljŇ°evanju kakovosti kode.
  • Programiranje v paru
    Vse kljuńćne dele aplikacije napiŇ°ejo programerji, ki sedijo drug ob drugem pri istem monitorju.