Relates to: Ce soft de tasking/suport folositi?
and Metodologii pentru Project management
Nu e un duplicat, ce vreau să fac e o mini listă de unelte pentru echipe sau coderi de tip “lone ranger”.
Motivație: Cei mai mulți “web developeri” de care dau în ultima vreme sunt maxim de ignoranți în ceea ce privește munca organizată. Într-o minimă măsură îi înțeleg dar trebuie să fie într-un fel forțați să înceapă să se obișnuiască cu un minim de procedură. Cel puțin dacă vrei un job sau mai mult, dacă vrei un job de unde să și înveți ceva ca să progresezi.
Ca programator simplu, nu prea vezi de ce ar trebui să îți complici viața cu tot felul de unelte. Pănă începi să crești și începi să faci outsourcing că crește volumul de muncă. Moment în care începi cu pași mici dar siguri să devii ca în bancul ăla, “maimuța cu titlu de project-manager”.
Mulți văd, puțini cunosc.
Problema cu “outsourcing” ăsta e că tot tu garantezi pentru muncă, chiar dacă a făcut-o altul pentru tine.
Și trebuie să te asiguri, cu minim de efort, că ce a făcut Goguță e la calitatea pe care o vrei și pe care dai garanția.
Scopul meu în treaba asta se împarte în două. Să aflu noutăți și să încerc să dau o explicație, pentru începători și nu numai, pentru cerintele de lucru ce par a fi “draconice”.
Baby steps în a ne pregăti viitori colegi.
Majoritatea “antreprenorilor” de care dau, vor să își facă “cea mai tare echipă din lume”. Și nu că ar fi un lucru rău, doar că:
-
toți vor oameni din același oraș, ca să facă un birou mare și frumos.
- asta din punctul meu de vedere, e primul semn că pe viitor nu se va ajunge nicăieri
În “calculatoare” NU contează locația geografică. 90% din cei care zic că vor să fii cu ei în birou, sunt dezorganizați, împrăștiați, cum vrei să-i zici. Rare sunt cazurile de proiecte atât de complexe încât să fie necesară comunicare verbala constantă.
- asta din punctul meu de vedere, e primul semn că pe viitor nu se va ajunge nicăieri
-
consideră că nu-i nevoie de documentație (macar a codului) și/sau de un istoric al proiectului (nu doar git log)
- ce vrei să eviți pe cât de mult posibil e dependența de un anume programator. Din principal 3 motive:
1- nu îți permiți să plece Goguță, 2- nu îți permiți să-l schimbi pe Goguță, 3- să-i dai un coleg să lucreze poate fi un adevărat coșmar. - refractoring-ul de cod devine usor un cosmar. uiți ce ai făcut, de ce ai făcut, strici alte chestii funcționale
- cand lucrează mai mulți oameni, e vital ca toată lumea să înțeleagă ce a facut colegul și care a fost raționamentul lui, altfel vor aparea tot felul de work-arounds care îți vor transforma proiectul în spaghetti code. De aceea e absolut necesar ca toată echipa să valideze o bucată de cod înainte de a se face merge. Și bineînteles să se pună întrebări. E ok, dacă un coleg zice nu altui coleg, chiar dacă tu ca project manager zici că codul respectiv e ok.
- ce vrei să eviți pe cât de mult posibil e dependența de un anume programator. Din principal 3 motive:
-
unit testing. știu, e plictisitor, nimeni nu vrea să își bată capul că trece dead-line, dar ai garanția că codul merge și nu mai apar situații de genul “băi da ăsta știu că mergea”
Toate chestiile astea îți fac munca enorm de ușoară pe termen lung. Îți fac echipa flexibilă, e usor să aduci oameni noi și să se apuce repede de lucru și nu plângi dacă pleacă programatorul principal. Și chiar vei putea da dead-line-uri pe care să le și respecți
Eh, lista asta de unelte aș împărti-o în 2: free/moca și premium. Nu toată lumea scoate bani de pe proiectele la care lucrează. Nu tot timpul merită să dai bani pe ele, dar merită să încerci pe cât de mult posibil să lucrezi profesional și organizat, chiar dacă e un proiect hobby, nu se știe niciodată când va deveni ceva serios. Îți formezi tabieturile de muncă.
Free/Moca
- Code hosting
- BitBucket, GitLab (self hosted)
- Code review
- BitBucket, Gerrit (self hosted), GitLab (self hosted)
- Code testing / Continuous integration
- Jenkins (self hosted), GitLab CI (self hosted), CodeShip, semaphore
- Issue tracking
- BitBucket, GitLab (self hosted)
- Time tracking
- RescueTime
Premium
- Code hosting
- Code review
- Code testing / Continuous integration
- Issue tracking
- Time tracking
Asteptăm sugestii.