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