Pravidlá a Podmienky fungovanie tímu Quokka

Tento dokument slúži ako návod, pravidlá, podmienky pre tím Quokka. Zároveň snaha tohto dokumentu je zjednoduhšiť a spríjemniť prácu , preto akékoľvek nápady, postrehy sa dajú vydiskutovať a pridať sem. Všetky body spolupráce medzi nami ako tímom, platia tak ako sú nižšie uvedené ak sa pre daný projekt nedohodneme inak, alebo na základe zákazníka nezvolíme iné postupy. Tieto pravidlá je dobré dodržiavať, aby sme zabezpečili príjemnú spoluprácu bez stresu.

1. Komunikácia

Tento článok len opisuje ako sa komunikuje interne a ako so zákazníkom.

1.1 Komunikačný kanál

Komunikujeme cez predom určené kanály podľa dohody (messenger, slack). Primárne sa odohráva komunikácia na jednom mieste, aby nevznikal zmätok v komunikácii. A to cez Slack. Prímárne sa používajú kanály:

1) General - tu sa preberajú veci mimo daného projektu, napríklad: nové projekty a pracovné ponuky. Následne prechádzajú procesom odsúhlasenia 2. Ale aj interné veci ako dovolenky, plány, stretnutia. Odtiaľto sa píšu aj emaily

2) Random - tu patrí zmätok, prednášky zaujimavé stránky, zábava

1.2 Komunikácia so Zákazníkom

Každý projekt má svoj kanál, kde sa daný projekt rieši. Sem sa píše aj komunikácia so zákazníkom pre daný projekt. V prípade telefonátu je dôležité sem napísať, čo bolo predmetom rozhovoru a následne vysvetliť všetkým zúčastneným obsah rozhovoru. So zákazníkom môže komunikovať ktokoľvek z tímu, dôležité je, aby o tom vedeli všetci členovia tímu. Ak je potrebný email, pretože zákazník chce niečo odoslať, posiela sa na mail: quokka.dev.team@gmail.com a na Facebook fb.me/quokkaDevTeam.

2 Príjmanie nových prác a postup schvalovania

Každý z tímu má možnosť pridať novú ponuku práce, ktorú našiel alebo bol ňou oslovený. Primárne v prípade uvoľnenia kapacít a času preberáme úlohy z Jaspravím.sk a nakoduj.to. Po nájdení alebo oslovení zákazníka je na tíme, aby sa rozhodol, či je daný projekt zaujímavý a časovo je schopný ho vykonať. Následne ak dôjde k schváleniu, začína sa plánovanie projektu v bodoch:

  1. Predstava zákazníka - každému z tímu musí byť predstava zákazníka jasná, v tejto fáze sa nič neprogramuje schvaľujú sa požiadavky a dostávame sa k príprave na prácu. Pripravia sa podklady a veci potrebné na začatie projektu
  2. Začiatok realizácie - po dorozumení sa so zákazníkom, sa odhadne hrubý časový odhad v hodinách, tak aby sme mohli zákazníkovi vypočítať sumu za ktorú bude projekt urobený, časový odhad kedy bude dokončený. Následne sa rozdelí projekt na menšie fázy napríklad: Fáza číslo jedna (inicializácia projektu pripravenie servera), Fáza dva (programovanie vzhľadu stránky), Fáza tri (pridávanie funkcií). Každá fáza je časovo odhadnutá a schválená nielen členmi tímu, ale aj zákazníkom. Každá fáza sa bude skladať z menších úloh: 1. Vytvorenie repozitára, príprava Trella.
  3. Začiatok fáze a konzultácia - zákazníkovi sa vysvetlí fáza, oboznámi sa s procesom, začne sa realizácia, každý z tímu si vyberie úlohy. Začne na nich pracovať, po dokončení fáze sa skontaktujeme so zákazníkom povieme mu koľko času nám to zabralo, čo sme stihli a ak máme niečo, čo môžeme ukázať ukážeme to zákazníkovi. Tento postup sa pri každej fáze opakuje.
  4. Testovanie - následne, ak je možné niečo testovať, okrem toho, že testy si píše programátor, si zákazník môže odtestovať funkčnosť kódu a jeho integritu.
  5. Predanie projektu - zákazníkovi sa odovzdáva projekt podľa jeho požiadaviek, spolu s naprogramovaným kódom a ak je vyžiadané aj s nahraním na server. Všetky materialy použité pri vypracovaní projektu sa odovzdávajú (psd súbory, kľúče na server a pod.), tak aby zákazník dostal projekt, ktorý môže dalej niekto po nás prebrať alebo aby v prípade záujmu mal potrebné veci u seba.

3. Zadávanie práce

Platí nasledovná schéma, ak máte dostatok času a môžete robiť. Úlohy (Tasky) sa zadávajú cez Trello, kde je tím Quokka. Práca je zadávaná priamo od zádávateľa, t.j. zákazníka. Prácu si volí sám člen tímu, je na ňom, ktorú úlohu si vezme a koľko na nej odrobí.

3.1 Flow práce a tasku

Flow tasku je nasledovný, pričom každý task začína v Specify:

  1. Specify - tu sa úloha našpecifikuje, dohodne sa postup testovania, napíše sa čas a dátum dokončenia. Následne sa presunie do Waiting For Approval
  2. Waiting For Approval - úloha čaká na schválenie od zákazníka. Akonáhle je schválená presunie sa do To Do
  3. To Do - tu je úloha schválená a čaká sa na priradenie od členu tímu, ktokoľvek si môže zobrať túto úlohu, tým že si niekto úlohu priradí na seba. Úlohy si nepriraďujú členovia tímu, ale sám člen tímu
  4. Doing - akonáhle má člen tímu čas a chystá sa začať pracovať na úlohe, úlohu presunie do Doing. Po dokončení napíše odpracovaný čas
  5. Testing - následne iný člen tímu, poprípade viacerí odtestujú kód, preveria jeho funkčnosť a jeho prevedenie poprípade, navrhnú zmeny a zákazník si samotnú realizáciu kódu preverí. Tu už je čas obmedzení, viď 4.2
  6. Done - overená úloha sa presúva do Done a tam je uzavretá

Ak sa stane, že je úloha odmietnutá na specify je zahodená a zrušená. Ak sa to stane pri To Do, a je nutné niečo doplniť, pretože jej nerozumie programátor alebo je nesprávne zadaná, prejde do Specify. Ak sa úloha zamietne v Doing prechádza do Done, pretože bola schválená tímom aj zákazníkom, no ten jej realizáciu zrušil, takáto úloha je nacenená zákazníkovi. Úloha z Testing sa vracia do Doing, ak je na nej potrebné niečo upraviť, teda bola namietnutá z tímu alebo od zákazníka. Úlohy v Done sú vždy nacenené zákazníkovi a zrealizované.

4. Pracovné ohodnotenie a vedenie času

Člen tímu si meria čas strávený pri programovaní a pri testovaní a hľadaní chýb rôznym spôsobom nižšie uvedeným.

4.1 Meranie odpracovaného času

Čas, ktorý je odpracovaný sa meria v hodinách. Odpracovaný čas znamená: Čas strávení pri programovaní. Pozor čas, ktorý bol strávený pri hľadaní riešení na internete, ktorý presahuje 10 minút , sa nemá zarátavať pretože programátor nie je vyhľadávač na internete, ale programátor. Ak nastane dlhšie riešenie problému, nad 20 minút, pretože úloha má komplikované riešenie alebo ďalší postup je časovo náročný. Je nutné toto prebrať interne poradiť sa ako ďalej postupovať pričom úloha sa vráti do Specify, kde sa preberie postup. Odpracovaný čas na úlohe, ktorý bol zatiaľ vypracovaný sa zapíše.

4.2 Testovanie úloh

Ak je úloha v Testing, členovia tímu najmenej dvaja sa na úlohu pozrú aj na samotný kód, preveria kód tak aby im to nezabralo viac ako 20 minút a vyjadria sa k nemu. Ak je potrebný dlhší čas, zapíše sa do úlohy pričom sa dá vedieť iným členom tímu, že je potrebné lepšie preveriť kód viac do hĺbky, zákazník za tieto testovania platí, preto je dôležité odviesť prácu správne už v Doing.

4.3 Spôsob merania času

Čas sa meria pomocou interného nástroja quokka-kit alebo iným spôsobom, no musí byť zdokumentovateľný. Dôležité je, aby sa viedol čas a zapisoval sa do tasku v trelle.

5. Odmena za prácu

Za každý odpracovaný čas, je člen tímu odmenený. Avšak je nutné brať do úvahy aj skúsenosti členov, preto ak nejakému členovi tímu, trvá nejaká úloha dlhšie, je na ňom, aby zlepšil svoje schopnosti. Postupuje sa 2 spôsobmi, ak dôjde k presiahnutiu času alebo je isté, že k nemu dôjde.

  1. Ak sa úloha predĺži, tento čas je možné zarátať do práce, avšak je dôležité na to upozorniť ostatných členov tímu daného projektu a pridať poznámku k úlohe. Následne zákazník má byť oboznámený s presahom a sám sa môže rozhodnúť, čo ďalej s úlohou. Ak sa odsúhlasí ďalšie pokračovanie hodiny sa zarátavajú podľa tohto dokumentu. Na základe tvrdení iných členov je očividné, že bola zle odhadnutá a jej náročnosť sa podcenila. Postupuje sa podľa 4.1.
  2. Úloha sa predĺžila kvôli nedostatku skúseností alebo podcenenia úlohy členom tímu. V tomto prípade sa môže člen tímu rozhodnúť v nej pokračovať aj s presahom času, avšak vyplatená suma bude len z odhadnutých hodín, keďže sa chce zlepšiť a doplniť si skúsenosti.

Na odhadnutie úloh sú potrební aspoň dvaja členovia tímu. A podľa ich názoru dôjde k rozhodnutiu, o ktorý typ presahu ide.

5.1 Cenové ohodnotenie

Vzhľadom na to, že práce musia byť odsúhlasené členmi tímu a to najmenej dvoma. Je cena za hodinu programovania udaná na 20 eur za hodinu., ktorý sa nasledne predáva pod menom Quokka a právo naň má tím. Ktorý si interne odsúhlasí cenu za takýto projekt, pričom odmena je pre každého programátora je vypočítaná z pomeru odpracovaných hodín k cene projektu. Člen má aj po opustení tímu pravo na odmenu za vykonanú prácu alebo má právo prenechať časť svojho podielu na tím. Ak existujú výdavky na pasívny projekt hradia sa z fondu tímu alebo pri dohode členov pracujúcich na projekte sa výdavky môžu hradiť z príjmu projektu. Pričom príjem musí presahovať výdavky. V prípade poradenstva a bezpečnostných služieb je to 10 eur na hodinu, ceny za hodinu sa preberajú v tíme a môžu sa líšiť od zákazky.

5.2 Pasívny príjem

Každý člen tímu má právo zapojiť sa do projektu, ktorý je označený ako pasívny, to znamená že tím neočakáva jeho okamžitý návrat. Ide o produkt tímu.

6. Nový členovia

Tím je otvorený a rád privíta nových členov, avšak na pribratí sa musí zhodnúť nadpolovičná väčšina členov v prípade, ak tím má viac ako 3 členov.

7. Zastupovanie

Tím je zastupený každým členom osobitne, každý člen reprezentuje tím a má právo komunikovať, konať v mene tímu po vyjadrení ostatných členov

8. Vnútorná politika

Tím je demokraticky riadení, každý člen ma rovnakú pozíciu a práva. Práva stráca po opustení tímu alebo po súhlasnom rozhodnutí pre opustenie člena tímu. Členovia tímu si majú navzájom pomáhať a dbať na udržiavanie stabilných a pevných vzťahov v tíme. Tak, aby v tíme panovala nenapätá atmosféra. Zároveň je každý člen povinný starať sa o budúcnosť tímu ako takého, prispievať nápadmi a snažiť sa zlepšovať tím, napomáhať jeho smerovaniu a aktívne sa zapájať.

9. Mlčanlivosť a zodpovednosť

Členovia tímu, ak nie je určené inak nie sú viazaný mlčanlivosťou vo vzťahu zákazník a tím, ak si to sám zákazník nežiada. Avšak interná komunikácia v tíme podlieha mlčanlivosti a členovia tímu sú zaviazaný ju dodržiavať. Táto mlčanlivosť sa týka najmä prístupových údajov, zdrojových kódov, používaných materiálov. V prípade porušenia mlčanlivosti preberá člen tímu, ktorý ju porušil na seba zodpovednosť. A súhlasí s vyvodením dôsledkov a opustením tímu. Ak ju porušil vo vzťahu so zákazníkom má zakazník právo si vymáhať odškodné alebo inak kompenzovať spôsobenú stratu.

9.1 Preberanie zákazníkov

Preberanie zákazníkov je prísne zakázané, znamená to, že člen tímu si nemôže svojvoľne prisvojiť zákazníka, ktorého oslovila Quokka. Takéto správanie je zakazané a môže dôjsť k vylúčeniu člena.