Development policy

Ta dokument opisuje politiko PIO razvoja in je namenjen PIO razvijalcem ne glede na to ali so razvijalci interni, partnerska podjetja ali posamezniki.

Namen dokumenta je predstaviti PIO in osnovne dogovore ravojnega dela, ki bo omogočal učinkovito delo obstoječih razvijalcev, olajšal vključevanje novih razvijalcev in Atolu omogočil obvladovano upravljanje s PIO verzijami.

PIO PIO (Produs Informacijsko Orodje) v svoji osnovi izhaja iz SugarCRM http://www.sugarcrm.com oziroma vTiger http://www.vtiger.com izpeljanke. Orodje je namenjeno podjetjem za izvajanje prodajnega procesa, Atol pa to storitev nudi strankam v okviru Produs rešitve kot SaaS.

Po začetnih ambicijah sodelovanja pri razvoju v okviru vTiger skupnosti se je interni razvoj skoncentriral na internem reševanju zahtev in po enoletnem razvoju in implementiranih cca 1000 sprememb. Zaradi strateške odločitve po outsourcing razvoju smo začeli iskati partnerje za PIO razvoj, želimo pa obvladovati deployment novih verzij v produkcijsko okolje.

V produkciji so trenutno tri edicije: - 3×3 – kontakti.si za vodenje strank, kontaktov in dogoodkov - ACME – Podpora delu klicnega centra za izvajanje 3DS - Slobase – Podpora izvajanju prodajnega procesa v okviru Produs-a Atol - Skrbi za produkcijsko okolje in deployment novih verzij v produkcijsko okolje - Izvaja zaključno funkcionalno in performančno testiranje - Zbira in upravlja zahteve za PIO razvoj in jih prioritizira glede na strateške potrebe podjetja - Za upravljanje z verzijami upravlja SVN server in omogoča avtoriziran dostop internim in zunanjim razvijalcem do PIO verzij - Omogoča razvijalcem dostop do njihovih zahtev v http://crm.atol.si/atol - Vzdržuje PIO funkcionalno drevo - Objavlja nove verzije na http://carma.atol.si/doku.php?id=vtiger-si:start

Atol vzdržuje naslednje PIO instance, do katerih lahko po potrebi omogoči dostop tudi razvijalcem v katerih ni realnih podatkov:

Andes - Demo PIO, ki se upgrada, updata datume in ne spreminja Atolcheck - Merjenje odzivnih ?asov Crmdev - Testiranje novih slobase verzij – se upgreda redno z novimi verzijami Acmedev - Testiranje novih ACME verzij – se upgreda redno z novimi verzijami 3x3dev - Testiranje novih 3×3 verzij – se upgreda redno z novimi verzijami Vtiger - VtigerCRM rel 4.2.3 iz katere smo za?eli naš razvoj SugarCRM - SugarCRM free edition za pregled funkcionalnih rešitev Slobase-xy - Slobase kreiran z verzijo xy ACME-xy - Acme kreiran z verzijo xy 3×3-xy - 3×3 kreiran z verzijo xy

Razvijalec - Po potrebi omogo?i Atolu dostop do verzije v razvoju - Spreminja status reševanja na zahtevi (v reševanju, pripravljeno) Vsebina zahteve Prioritete zahtev (Dolo?i Customer Care na osnovi internega dogovora)

Nujno! - Začnemo reševati takoj in obi?ajno pripravimo fix Visoka - Mora biti rešeno v trenutni verziji Normalna - Bi bilo dobro, da je rešeno v trenutni verziji Nizka - Naj bo v trenutni verziji, če je dovolj časa

– Brez – Resnost zahtev (dolo?i Customer Care na osnovi zahteve strank)

Izboljšava Odvzeta, dodana ali spremenjena funkcionalnost Normalno Izvajanje poslovnega procesa je mote?e Resno Poslovni proces je resno moten, vendar obstaja druga?en na?in izvajanja Kriti?no Poslovnega procesa ni mogo?e izvajati – Brez –

Statusi zahtev

Nerešeno Zahteva je evidentirana in še ni klasificirana Customer Care V reševanju Za?etek reševanja zahteve Razvijalec Pripravljeno Ko je zahteva rešena, interno stestirana in commitana v SVN Razvijalec V testiranju Ko je zahteva zdeployna v testno okolje Deployment Stestirano Ko je zahteva preverjena v crmdev ali drugem okolju Tester Rešeno Ko Atol preveri ustreznost rešitve z naro?nikom Customer Care Opuš?eno Zahteve, ki se ne rešujejo Customer Care – Brez –

Evidentiranje ?asa

Rok Do kdaj naj bo zahteva rešena Customer Care Planiran ?as Max ?as (stroški), ki jih Atol odobri za reševanje zahteve Razvijalec Dejanski ?as Dejansko porabljeni ?as za rešeavnje in testiranje zahteve Razvijalec, Tester

V polje opis se vpiše opis zahteve, test case, v rešitev pa njeno rešitev. V komentar se dodajajo morebitni predlogi v fazi reševanja oziroma testiranja.

Customer care vpiše klju?ne besede, kar poenostavi iskanje in pregledovanje. Lahko vpiše tudi morebitni work'a'round.

Najbrž bi bilo smiselno tudi dodati field contact, kar sedaj rešujemo z imeni v titlu Viri informacij

vTiger http://forums.vtiger.com/index.php SugarCRM http://www.sugarcrm.com/forums/ Carma http://carma.atol.si

Dogovori v fazi reševanja zahtev

1. Podpora edicijam a. Slobase naj bi bila osnova skupna vsem edicijam, ostale edicije pa izpeljane iz Slobase z dolo?enimi postopki oz. Procedurami b. Trenutno podprte edicijije: 3×3, ACME, Slobase 2. config.php in log4php files a. Klju?ne besede, ki se iz PIO Admin baze prepišejo ob deployu so ozna?ene z {{}}. b. Obe datoteki se kreirata tako ob kreiranju novega CRM-ja kot tudi ob vsaki nadgrdanji. 3. Multilingual support a. Vse vtiger hardcodirane stringe dajemo v language file b. vzdržujemo tako SI kot ENG verzijo 4. International support a. ?e se pojavljajo potrebe po internation podpori, to upoštevamo (formati, valute, …) 5. Docuwiki integration a. v docuwikiju vzdržujemo Priro?nik, navodila za delo in obvestila o nadgradnjah b. v config.php je pot do docuwiki strežnika c. v dokuwiki je definirana hierarhija, ki omogo?a ve?jezi?nost in je usklajena s povezavami v PIO d. za 3×3 za?etni koraki 6. Upravljanje posebnosti za stranke a. ?e ima dolo?ena stranka posebnosti, ki so vezane samo na language file ta language file poimenujemo npr: sl_si_atol.lang.php b. ?e ima dolo?ena stranka spremenjeno kodo, se te datoteke pripravijo kot paket in zdeployajo v produkcijo v poseben folder, od koder deployment procedura poskrbi za pravilno namestitev.

Postopki razvijalcev v fazi predaje zahteve

1. Spremembe komitaš v trunk svn:medved.atol.si/atolCRM/trunk . Kot komentar zapišeš: <verzija za katero delaš>|<ticketid>|<besedilo ticketa>|<dodatna pojasnila – komentar>. Zgled: v33|13604|Na atolu ko sejvaš kontakt gre mejl ven|delni popravek, sodelavec nadaljuje 2. Upgrade stavke za nove CRM-je daješ v dev_update_3x3.sql, dev_update_acme.sql in dev_update_slobase.sql 3. Upgrade za produkcijske place daješ v upgrade_script.php, ?e gre za inserte moraš nujno preveriti ?e sploh je potrebno upgredati (ker se te skripte lahko zaganja ve? kot 1x in je morda že baza bila upgredana). V