Grupuri de lucru și fluxul unei cerințe
Munca tehnică din ACO e organizată în patru grupuri, aliniate cu etapele prin care trece orice cerință: o specificăm, o dezvoltăm, o testăm și o documentăm.
Cele patru grupuri de lucru
Specificații (Business Requirements)
Transformă o nevoie de business sau o schimbare legislativă într-o specificație pe care o poate implementa un dezvoltator.
- colectează cerințele de la membri, clienți finali și din legislație (ANAF, MF);
- scrie specificația: context, bază legală, scenarii de acceptanță;
- prioritizează registrul de cerințe și decide unde se rezolvă (OCA, Odoo sau modul ACO);
- urmărește noutățile legislative ca să anticipeze schimbările.
Cui i se potrivește: Contabili, consultanți funcționali, analiști.
Dezvoltare (Development)
Scrie și întreține codul modulelor de localizare pe baza specificațiilor.
- implementează în OCA/l10n-romania și în modulele ACO;
- face review de cod (minimum un reviewer independent pentru fiecare PR);
- stabilește convențiile de cod și arhitectura modulelor;
- coordonează migrările la fiecare versiune nouă de Odoo.
Cui i se potrivește: Dezvoltatori Odoo (Python, OWL/JS, XML).
Testare (Testing)
Verifică faptul că ce s-a dezvoltat face ce scrie în specificație, pe scenarii reale de client.
- testează manual PR-urile pe instanțele de test (runboat);
- scrie și întreține teste automate și suite de regresie pe versiune;
- reproduce bug-urile raportate și le documentează pașii;
- validează release-urile înainte de publicare.
Cui i se potrivește: Consultanți, utilizatori cu experiență, dezvoltatori la început de drum.
Traduceri și Documentație
Face ca funcționalitatea livrată să poată fi folosită: documentată și în limba română.
- scrie articolele din baza de cunoștințe și cursurile de pe site;
- traduce interfața Odoo și a modulelor OCA în română (vezi ghidul de traduceri);
- face review la traducerile colegilor, ca termenii să fie consecvenți în toată aplicația;
- anunță noutățile importante către comunitate.
Cui i se potrivește: Oricine scrie clar: consultanți, traineri, contabili.
Pe lângă acestea, Asociația are grupurile Comunicare (GL-COM) și Marketing (GL-MKT), care nu lucrează pe cerințe, ci pe canalele, evenimentele și vizibilitatea ACO.
Drumul unei cerințe
Fiecare cerință e un task în proiectul Localizare și trece prin aceleași coloane.
Nou Oricine
Cerința sau bug-ul intră prin formularul de mai jos, forum sau portal. Liderul GL-BR o triază la întâlnirea grupului: o acceptă, o unește cu una existentă sau o închide motivat.
Specificații GL-BR
Se scrie specificația și scenariile de acceptanță. Tot aici se decide unde se rezolvă: în OCA, în Odoo sau într-un modul ACO.
Dezvoltare GL-DEV
Un dezvoltator își asumă sarcina, deschide PR-ul și îl leagă de task. PR-ul trece de verificările automate și de review.
Testare GL-QA
Se testează pe instanța de test a PR-ului, după scenariile din specificație. Rezultatul se scrie pe PR și pe task; dacă pică, se întoarce în Dezvoltare.
Documentație GL-TR
Se actualizează articolul din baza de cunoștințe, traducerile și, dacă e o schimbare vizibilă, se anunță comunității.
Finalizat
PR-ul e integrat (merged), documentația e publicată și task-ul se închide.
Cerință nouă sau bug?
| Cerință nouă | Bug | |
|---|---|---|
| Ce este | Ceva ce localizarea nu face încă: o declarație nouă, o schimbare legislativă, un raport. | Ceva ce ar trebui să meargă și nu merge: rezultat greșit, eroare, comportament diferit de specificație. |
| Ce trimiți | Nevoia de business, baza legală (link la lege/ordin) și un exemplu concret. | Versiunea Odoo, modulul, pașii de reproducere, rezultatul așteptat și cel obținut. |
| Primul pas | GL-BR scrie specificația. | GL-QA reproduce bug-ul pe o bază curată; dacă nu se reproduce, cere detalii. |
| Drumul | Nou → Specificații → Dezvoltare → Testare → Documentație → Finalizat | Nou → Dezvoltare → Testare → Finalizat (Documentație doar dacă se schimbă comportamentul) |
| Titlul PR-ului | [19.0][ADD] l10n_ro_modul: ... sau [19.0][IMP] ... | [19.0][FIX] l10n_ro_modul: ... |
Unde se rezolvă?
OCA/l10n-romania
Cele mai multe cerințe: modulele l10n_ro_* ale comunității (stocuri, rapoarte, declarații, integrări ANAF).
Odoo (nucleu)
Bug-uri în modulele standard, în l10n_ro și l10n_ro_edi ale Odoo sau în traducerile oficiale.
Module ACO
Funcționalități de care e nevoie înainte să fie acceptate upstream. Scopul rămâne să ajungă în OCA sau în Odoo.
Propune o cerință sau raportează un bug
Ce trimiți aici intră ca task nou în proiectul Localizare, coloana Nou. Înainte de a trimite, caută în forum și în issue-urile OCA: poate există deja.