1 #+TITLE: Кreiranje Gantt grafikona izvozom do TaskJuggler
2 #+AUTHOR: Jovana Milutinovich
3 #+EMAIL: jovanam AT webhostinggeeks DOT com
4 #+OPTIONS: H:3 num:nil toc:t \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
5 #+STARTUP: align fold nodlcheck oddeven lognotestate
6 #+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
7 #+TAGS: Write(w) Update(u) Fix(f) Check(c)
12 # This file is released by its authors and contributors under the GNU
13 # Free Documentation license v1.3 or later, code examples are released
14 # under the GNU General Public License v3 or later.
16 [[file:index.org][{{Nazad do Workq”s indeksa index}}]]
18 /Thanks to Jovana Milutinovich (=jovanam AT webhostinggeeks DOT com=) for the translation./
22 [[https://orgmode.org/][Org mod]] је odličan dodatak za projektno planiranje , kao što je Peter Jones
23 pokazao u svom članku o [[http://www.contextualdevelopment.com/articles/2008/project-planning][projektnom planiranju]]. On prvo podeli projekat na
24 karakteristike i zadatke, zatim procenjuje efekt i trud i iz toga
25 prezentuje projektni plan. U ovom vodiču ćemo ići još jedan korak napred,
26 dodelićemo resurse zadacima, zatim napraviti raspored zadataka i kreirati
27 odgovarajući gantt grafikon za ovaj projekat.
29 Koristićemo [[http://www.taskjuggler.org/][TaskJuggler]] da bi rukovodili sa rasporedom zadataka,
30 nivelisanjem izvora i kreiranjem bezbroj grafikona (kao [[https://en.wikipedia.org/wiki/Gantt_chart][Gantt grafikoni]]) za
31 vašu mušteriju na vašem [[https://en.wikipedia.org/wiki/Pointy-haired_Boss][Pointy-haired Boss]].
33 * Planirajte svoj projekat
35 Startujete kao i obično tako što se projekat podeli na zadatke. Hajde da
36 uzmemo sledeći primer gde imamo da kreiramo projetak u vezi sa
37 računovodstvom (softver):
40 ,* Accounting Software
44 ,** Software Development
45 ,*** Database coupling
46 ,*** Back-End Functions
47 ,*** Graphical User Interface
57 ,*** Technology Preview
59 ,*** Ship Product to Customer
64 Sada kada ste odgonetnuli zadatke, vreme je da procenimo napor za svaki
65 pojedinačni zadatak. Koristeći kolonu pregleda ovo može da se završi vrlo
66 efikasno i brzo. Takođe , pomaže da se definišu =COLUMNS= i standardne
67 vrednosti za “Effort property” kao što je pokazano na sledećoj slici:
69 #+CAPTION: Procenjujemo napor pomoću kolone pregleda
70 #+ATTR_HTML: alt="Procenjujemo napor pomoću kolone pregleda"
71 [[file:../images/taskjuggler/effort-estimation.png]]
73 Rezultat vašeg projekta Org moda će izgledati nešto slično kao sledeće:
76 ,#+PROPERTY: Effort_ALL 2d 5d 10d 20d 30d 35d 50d
77 ,#+COLUMNS: %70ITEM(Task) %Effort
79 ,* Accounting Software
86 ,** Software Development
88 ,*** Database coupling
93 ,*** Back-End Functions
98 ,*** Graphical User Interface
121 ,*** Technology Preview
123 ,*** Ship Product to Customer
126 * Generisati Gantt grafikone
128 Sada, pre nego što eksportujete projekat do TaskJuggler-a, treba da kažete
129 izvozniku na kom drvetu može pronaći zadatke. Ovo radite tako što dodajete
130 tag do ~taskjuggler_project~ do člana “Accounting Softvare"[fn:1]. Uradite ovo
131 pomeranjem do “Accounting Softvare” naslova i kucajte sledeće:
133 : C-c C-c taskjuggler_project RET
135 Оvo vam dozvoljava da imate i druge članove za ovaj projekat kao što su
136 uvod i opšte napomene.
138 Za izvoz projekta do TaskJuggler-a jednostavno ukucajte sledeće:
140 : M-x org-export-as-taskjuggler-and-open
142 Оvo će vam otvoriti projekat u TaskJuggler-u kao što je i prikazano ispod.
144 #+CAPTION: Gantt grafikoni u TaskJuggler-UI
145 #+ATTR_HTML: alt="Gantt grafikoni u TaskJuggler-UI"
146 [[file:../images/taskjuggler/TaskJugglerUI1.png]]
148 Kako nismo dodelili nijedan resurs za rad na ovom projektu, izvoznik
149 pretpostavlja da ćete vi biti ti koji rade na projektu i dodeliće sve
150 zadatke vama. Zadatak je serijalizovan, tj. izlazi u serijama tako da
151 nećete imati da radite mnogo posla u isto vreme i resursi će biti
154 * Dodeljivanje resursa
156 Sledeći korak je da napravite listu svih resursa koji rade na projektu i
157 dodeliti im zadatke. Kreirajte član za svaki resurs. Možete grupisati
158 resurse kreiranjem hijerarhije. Označite drvo resursa sa oznakom
159 ~taskjuggler_resource~ tako da izvoznik zna gde da gleda za resurs
163 ,* Resources :taskjuggler_resource:
189 Kao što ćete i primetiti, takođe sam dodao ~resource_id~ properties za neke
190 resurse (grupe resursa). Koristiću te identifikatore za dodelu resursa
191 zadacima. Izvoznik će kreirati jedinstveni ids za resurse automatski[fn:3],
192 ali ako želite da koristite kratke forme bolje je da definišete
193 ~resource_id~ properties za vaše resurse. Ovo će vam takođe omogućiti da
194 definišete standardne vrednosti za dodelu kao što sledi:
196 : #+PROPERTY: allocate_ALL dev doc test
198 Najlakši način za dodeljivanje resursa, je ponovo kolumna pregleda. Nema
199 potrebe za dodeljivanjem resursa za svaki zadatak, jer je dodeljivanje
200 nasledno u TaskJuggler[fn:4]. Primetićete na ekranu ispod da neki zadaci
201 imaju više nego jedan resurs dodeljen. TaskJuggler će izračunati trajanje
202 svakog zadatka, baziranom na naporu i resursu koji rade na ovom zadatku.
204 #+CAPTION: Dodeljivanje resursa
205 #+ATTR_HTML: alt="Dodeljivanje resursa"
206 [[file:../images/taskjuggler/assign-resources.png]]
208 Ako sada izvezemo projekat videćemo da je TaskJuggler organizovao neke
209 zadatke paralelno (jer postoji nekoliko resursa koji mogu raditi
210 paralelno). Pogledajte sliku ispod:
212 #+CAPTION: Gantt grafikoni sa višestrukim resursima
213 #+ATTR_HTML: alt="Gantt grafikoni sa višestrukim resursima"
214 [[file:../images/taskjuggler/TaskJugglerUI2.png]]
216 Očigledno moramo da definišemo zavisnosti između zadataka.
218 * Odrediti zavisnosti
220 Ima nekoliko načina za definisanje zavisnosti između zadataka. Kada dolaze
221 iz Org mod pozadine, vi ćete verovatno želeti da ih definišete koristeći
222 postrojenja obezbeđena od strane Org moda, koji su ili:
224 - The =ORDERED= imovina koja vam dozvoljava i navodi vas da dečiji zadaci
225 moraju biti kompletirani po tome kako se pojavljuju
227 - The =BLOCKER= imovina, koja vam dozvoljava i navodi vas da zadatak
230 - od prethodnog siblinga (prethodni-sibling)
231 - od bilo kog drugog zadatka, startujući ~task_id~ property od
234 Ponovo, ovo je verovatno najlakši način za definisanje zavisnosti koristeći
235 kolumnu pregleda kao što je prikazano na ekranu ispod:
237 #+CAPTION: Definisanje zavisnosti korišćenjem kolumne pregleda
238 #+ATTR_HTML: alt="Definisanje zavisnosti korišćenjem kolumne pregleda"
239 [[file:../images/taskjuggler/define-dependencies.png]]
241 Na kraju, takođe postoji i zavisnost imovine koja je u korespodenciji sa
242 TaskJuggler terminologijom. Može se koristiti na isti način kao =BLOCKER=
243 imovina. Ovo je ilustrovano ispod gde je uzet primer “Softvare Development”
244 koji je blokiran od strane zadatka “Specification”, gde mora da čeka dok se
245 specifikacija ne završi. Zadatak “Softvare Development” je definisan kao
246 =ORDERED=, i svi podzadaci moraju biti kompletirani u sekvencama. Drugi
247 primer je prekretnica “Ship Product to Customer” koji čeka dok se ne završe
251 ,#+PROPERTY: Effort_ALL 2d 5d 10d 20d 30d 35d 50d
252 ,#+PROPERTY: allocate_ALL dev doc test
253 ,#+COLUMNS: %30ITEM(Task) %Effort %allocate %BLOCKER %ORDERED
255 ,* Accounting Software :taskjuggler_project:
264 ,** Software Development
267 , :BLOCKER: previous-sibling
272 ,*** Database coupling
277 ,*** Back-End Functions
283 ,*** Graphical User Interface
286 , :allocate: paul, seb
292 , :BLOCKER: previous-sibling
305 , :allocate: test, paul
322 ,*** Technology Preview
332 ,*** Ship Product to Customer
334 , :BLOCKER: beta manual
338 ,* Resources :taskjuggler_resource:
357 , :limits: { dailymax 6.4h }
365 Ако izvozite primer iznad, TaskJuggler će napraviti raspored zadataka kao
366 što je pokazano na ekranu ispod.
368 #+CAPTION: Gantt grafikoni za zavisnostima
369 #+ATTR_HTML: alt="Gantt grafikoni za zavisnostima"
370 [[file:../images/taskjuggler/TaskJugglerUI3.png]]
372 Takođe TaskJuggler će vam dati pregled koliko će uposleni biti resursi i na
373 čemu rade. Pogledajte ispod sliku:
375 #+CAPTION: Grafikon upotrebe resursa
376 #+ATTR_HTML: alt="Grafikon upotrebe resursa"
377 [[file:../images/taskjuggler/resource-graph.png]]
379 Na posletku, možete generisati [[file:../images/taskjuggler/project-plan.pdf][good-lookin project plans]] u PDF fajlove
380 štampanjem iz TaskJuggler-a.Ovo će usrećiti svakog [[https://en.wikipedia.org/wiki/Pointy-haired_Boss][pointy-haired Boss]].
382 * Export of other properties
385 Obično, izvoznik upisuje imovinu člana koja je već poznata TaskJuggler-u
386 (kao smene, bukiranja, efikasnost, start, knjiženje,odgovornost, reference,
387 raspored, trajanje, prekretnica, beleške, kraj, itd... za zadatke) kao i
390 Оstala svojstva kao kompletnost ili prioritet su izvedene iz obuhvatnih
391 informacija iz Org mod fajla. TODO izjava je pravi primer kompletnosti.
392 Prioritet zadatka će biti determinisan kroz prioritet cookie.
395 [fn:1] Možete kustomizirati tagove.
397 [fn:2] Оpet, naravno, ovaj tag može biti kustomiziran.
399 [fn:3] Preko downcasing naslova, zamene ne-ascii znakova sa “ i biranjem
400 prve reči kao da je jedinstvena.
402 [fn:4] U TaskJuggler-u dodeljivanja su kumulativna, izvoznik međutim,
403 dodaje neke kodove tako da su nasleđena dodeljivanja ignorisana kada se
404 eksplicitno dodeljuju resursu.