Naš proces: Distribucioni kanali

Beleška: Ovaj članak je spremljen za naš kompanijski wiki i tu je prvi put objavljen. U pitanju je deo živog procesa koji koristimo pri Active Collab razvoju. Proces stalno usavršavamo u skladu sa novim saznanjima, što praktičnim, što teorijskim. Ukoliko vam se ovaj tip tekstova sviđa, ostavite u komentaru dole sva pitanja ili teme o kojima biste želeli da pišem u budućnosti.

Distributivni kanali su način da razgraničimo više grupa korisnika, u skladu sa komforom koji imaju prema nestabilnom softveru i eksperimentalnim mogućnostima, i da im isporučujemo softver u skladu sa time.

Naš proces i sistem za isporuku softvera nam omogućava da “gađamo” jedan ili više kanala sa novim verzijama, kao i da neke mogućnosti uključimo ili isključimo u skladu sa kanalom na koji je softver isporučen.

U Active Collab projektu imamo četiri distributivna kanala, tri specifična za Cloud naloge i jedan za korisnike koji sami hostuju Active Collab:

Edge je kanal koji se koristi za testiranje u produktivnom okruženju, ali bez mušterija. Njega koristimo za potrebe finalnog testiranja i kako bi dokumentacioni i business development team imao pristup mogućnosti dovoljno pre nešto se isti nađe pred mušterijama.

Naš produkcioni Active Collab je uvek na ovom kanalu, a master grana treba da bude dovoljno stabilna da ne slomi našu produkciju. Čak i da se desi da “slomimo Edge”, taj momenat nas dovoljno “zaboli” pošto nam je potreban za rad, tako da je tim motivisan da problem što pre reši.

Beta je kanal na koji puštamo mogućnosti za koje želimo malo više testiranja sa samim korisnicima, pre nego što ih pustimo svima. Ovaj kanal koristimo za usability i beta testiranje kako bi finalna verzija mogućnosti bila unapređena u skladu sa rezultatima tih testiranja.

Ukoliko se mogućnost ne ispostavi kao pun pogodak, možemo da razmislimo o daljim unapređenjima, a možda čak i o izbacivanju mogućnosti iz softvera, bez prevelikih komplikacija i posledica po korisnike.

Mušterije same mogu da se jave da budu ubačene na ovaj kanal, a broj je kontrolisan. Idealno je da broj korisnika na beta kanalu bude maksimalno 10% ukupnog broja aktivnih korisnika, kako ne bi previše ljudi bilo izloženo testiranju i nestabilnosti. Takođe, ova grupa bi trebalo da je relativno mala kako ne bi vršila veliki pritisak na razvojni tim i podršku.

Stable je kanal čije mogućnosti dobijaju svi Cloud korisnici. U pitanju je kanal na koji puštamo samo verzije za koje smatramo da su pogodne za opštu upotrebu.

Self-hosted je poseban distributivni kanal koji koristimo za distribuciju verzije softvera koju mušterije sa licencama hostuju kod sebe na serverima. Obično prati Stable kanal ili kasni par manjih inkremenata iza tog kanala, pošto je u pitanju verzija koja se distribuira korisnicima kod kojih nemam platformu pod kontrolom, pa samim tim želimo da naš softver bude što stabilniji.

Definicije ovih kanala i njihova svrha je strogo definisana, a proces isporuke softvera na njih u potpunosti automatizovan.