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}}]]
16 [[http://orgmode.org/][Org mod]] је odličan dodatak za projektno planiranje , kao što je Peter Jones
17 pokazao u svom članku o [[http://www.contextualdevelopment.com/articles/2008/project-planning][projektnom planiranju]]. On prvo podeli projekat na
18 karakteristike i zadatke, zatim procenjuje efekt i trud i iz toga
19 prezentuje projektni plan. U ovom vodiču ćemo ići još jedan korak napred,
20 dodelićemo resurse zadacima, zatim napraviti raspored zadataka i kreirati
21 odgovarajući gantt grafikon za ovaj projekat.
23 Koristićemo [[http://www.taskjuggler.org/][TaskJuggler]] da bi rukovodili sa rasporedom zadataka,
24 nivelisanjem izvora i kreiranjem bezbroj grafikona (kao [[http://en.wikipedia.org/wiki/Gantt_chart][Gantt grafikoni]]) za
25 vašu mušteriju na vašem [[http://en.wikipedia.org/wiki/Pointy-haired_Boss][Pointy-haired Boss]].
27 * Planirajte svoj projekat
29 Startujete kao i obično tako što se projekat podeli na zadatke. Hajde da
30 uzmemo sledeći primer gde imamo da kreiramo projetak u vezi sa
31 računovodstvom (softver):
34 ,* Accounting Software
38 ,** Software Development
39 ,*** Database coupling
40 ,*** Back-End Functions
41 ,*** Graphical User Interface
51 ,*** Technology Preview
53 ,*** Ship Product to Customer
58 Sada kada ste odgonetnuli zadatke, vreme je da procenimo napor za svaki
59 pojedinačni zadatak. Koristeći kolonu pregleda ovo može da se završi vrlo
60 efikasno i brzo. Takođe , pomaže da se definišu =COLUMNS= i standardne
61 vrednosti za “Effort property” kao što je pokazano na sledećoj slici:
63 #+CAPTION: Procenjujemo napor pomoću kolone pregleda
64 #+ATTR_HTML: alt="Procenjujemo napor pomoću kolone pregleda"
65 [[file:../images/taskjuggler/effort-estimation.png]]
67 Rezultat vašeg projekta Org moda će izgledati nešto slično kao sledeće:
70 ,#+PROPERTY: Effort_ALL 2d 5d 10d 20d 30d 35d 50d
71 ,#+COLUMNS: %70ITEM(Task) %Effort
73 ,* Accounting Software
80 ,** Software Development
82 ,*** Database coupling
87 ,*** Back-End Functions
92 ,*** Graphical User Interface
115 ,*** Technology Preview
117 ,*** Ship Product to Customer
120 * Generisati Gantt grafikone
122 Sada, pre nego što eksportujete projekat do TaskJuggler-a, treba da kažete
123 izvozniku na kom drvetu može pronaći zadatke. Ovo radite tako što dodajete
124 tag do ~taskjuggler_project~ do člana “Accounting Softvare"[fn:1]. Uradite ovo
125 pomeranjem do “Accounting Softvare” naslova i kucajte sledeće:
127 : C-c C-c taskjuggler_project RET
129 Оvo vam dozvoljava da imate i druge članove za ovaj projekat kao što su
130 uvod i opšte napomene.
132 Za izvoz projekta do TaskJuggler-a jednostavno ukucajte sledeće:
134 : M-x org-export-as-taskjuggler-and-open
136 Оvo će vam otvoriti projekat u TaskJuggler-u kao što je i prikazano ispod.
138 #+CAPTION: Gantt grafikoni u TaskJuggler-UI
139 #+ATTR_HTML: alt="Gantt grafikoni u TaskJuggler-UI"
140 [[file:../images/taskjuggler/TaskJugglerUI1.png]]
142 Kako nismo dodelili nijedan resurs za rad na ovom projektu, izvoznik
143 pretpostavlja da ćete vi biti ti koji rade na projektu i dodeliće sve
144 zadatke vama. Zadatak je serijalizovan, tj. izlazi u serijama tako da
145 nećete imati da radite mnogo posla u isto vreme i resursi će biti
148 * Dodeljivanje resursa
150 Sledeći korak je da napravite listu svih resursa koji rade na projektu i
151 dodeliti im zadatke. Kreirajte član za svaki resurs. Možete grupisati
152 resurse kreiranjem hijerarhije. Označite drvo resursa sa oznakom
153 ~taskjuggler_resource~ tako da izvoznik zna gde da gleda za resurs
157 ,* Resources :taskjuggler_resource:
183 Kao što ćete i primetiti, takođe sam dodao ~resource_id~ properties za neke
184 resurse (grupe resursa). Koristiću te identifikatore za dodelu resursa
185 zadacima. Izvoznik će kreirati jedinstveni ids za resurse automatski[fn:3],
186 ali ako želite da koristite kratke forme bolje je da definišete
187 ~resource_id~ properties za vaše resurse. Ovo će vam takođe omogućiti da
188 definišete standardne vrednosti za dodelu kao što sledi:
190 : #+PROPERTY: allocate_ALL dev doc test
192 Najlakši način za dodeljivanje resursa, je ponovo kolumna pregleda. Nema
193 potrebe za dodeljivanjem resursa za svaki zadatak, jer je dodeljivanje
194 nasledno u TaskJuggler[fn:4]. Primetićete na ekranu ispod da neki zadaci
195 imaju više nego jedan resurs dodeljen. TaskJuggler će izračunati trajanje
196 svakog zadatka, baziranom na naporu i resursu koji rade na ovom zadatku.
198 #+CAPTION: Dodeljivanje resursa
199 #+ATTR_HTML: alt="Dodeljivanje resursa"
200 [[file:../images/taskjuggler/assign-resources.png]]
202 Ako sada izvezemo projekat videćemo da je TaskJuggler organizovao neke
203 zadatke paralelno (jer postoji nekoliko resursa koji mogu raditi
204 paralelno). Pogledajte sliku ispod:
206 #+CAPTION: Gantt grafikoni sa višestrukim resursima
207 #+ATTR_HTML: alt="Gantt grafikoni sa višestrukim resursima"
208 [[file:../images/taskjuggler/TaskJugglerUI2.png]]
210 Očigledno moramo da definišemo zavisnosti između zadataka.
212 * Odrediti zavisnosti
214 Ima nekoliko načina za definisanje zavisnosti između zadataka. Kada dolaze
215 iz Org mod pozadine, vi ćete verovatno želeti da ih definišete koristeći
216 postrojenja obezbeđena od strane Org moda, koji su ili:
218 - The =ORDERED= imovina koja vam dozvoljava i navodi vas da dečiji zadaci
219 moraju biti kompletirani po tome kako se pojavljuju
221 - The =BLOCKER= imovina, koja vam dozvoljava i navodi vas da zadatak
224 - od prethodnog siblinga (prethodni-sibling)
225 - od bilo kog drugog zadatka, startujući ~task_id~ property od
228 Ponovo, ovo je verovatno najlakši način za definisanje zavisnosti koristeći
229 kolumnu pregleda kao što je prikazano na ekranu ispod:
231 #+CAPTION: Definisanje zavisnosti korišćenjem kolumne pregleda
232 #+ATTR_HTML: alt="Definisanje zavisnosti korišćenjem kolumne pregleda"
233 [[file:../images/taskjuggler/define-dependencies.png]]
235 Na kraju, takođe postoji i zavisnost imovine koja je u korespodenciji sa
236 TaskJuggler terminologijom. Može se koristiti na isti način kao =BLOCKER=
237 imovina. Ovo je ilustrovano ispod gde je uzet primer “Softvare Development”
238 koji je blokiran od strane zadatka “Specification”, gde mora da čeka dok se
239 specifikacija ne završi. Zadatak “Softvare Development” je definisan kao
240 =ORDERED=, i svi podzadaci moraju biti kompletirani u sekvencama. Drugi
241 primer je prekretnica “Ship Product to Customer” koji čeka dok se ne završe
245 ,#+PROPERTY: Effort_ALL 2d 5d 10d 20d 30d 35d 50d
246 ,#+PROPERTY: allocate_ALL dev doc test
247 ,#+COLUMNS: %30ITEM(Task) %Effort %allocate %BLOCKER %ORDERED
249 ,* Accounting Software :taskjuggler_project:
258 ,** Software Development
261 , :BLOCKER: previous-sibling
266 ,*** Database coupling
271 ,*** Back-End Functions
277 ,*** Graphical User Interface
280 , :allocate: paul, seb
286 , :BLOCKER: previous-sibling
299 , :allocate: test, paul
316 ,*** Technology Preview
326 ,*** Ship Product to Customer
328 , :BLOCKER: beta manual
332 ,* Resources :taskjuggler_resource:
351 , :limits: { dailymax 6.4h }
359 Ако izvozite primer iznad, TaskJuggler će napraviti raspored zadataka kao
360 što je pokazano na ekranu ispod.
362 #+CAPTION: Gantt grafikoni za zavisnostima
363 #+ATTR_HTML: alt="Gantt grafikoni za zavisnostima"
364 [[file:../images/taskjuggler/TaskJugglerUI3.png]]
366 Takođe TaskJuggler će vam dati pregled koliko će uposleni biti resursi i na
367 čemu rade. Pogledajte ispod sliku:
369 #+CAPTION: Grafikon upotrebe resursa
370 #+ATTR_HTML: alt="Grafikon upotrebe resursa"
371 [[file:../images/taskjuggler/resource-graph.png]]
373 Na posletku, možete generisati [[file:~/install/git/worg/images/taskjuggler/project-plan.pdf][good-lookin project plans]] u PDF fajlove
374 štampanjem iz TaskJuggler-a.Ovo će usrećiti svakog [[http://en.wikipedia.org/wiki/Pointy-haired_Boss][pointy-haired Boss]].
376 * Export of other properties
379 Obično, izvoznik upisuje imovinu člana koja je već poznata TaskJuggler-u
380 (kao smene, bukiranja, efikasnost, start, knjiženje,odgovornost, reference,
381 raspored, trajanje, prekretnica, beleške, kraj, itd... za zadatke) kao i
384 Оstala svojstva kao kompletnost ili prioritet su izvedene iz obuhvatnih
385 informacija iz Org mod fajla. TODO izjava je pravi primer kompletnosti.
386 Prioritet zadatka će biti determinisan kroz prioritet cookie.
389 [fn:1] Možete kustomizirati tagove.
391 [fn:2] Оpet, naravno, ovaj tag može biti kustomiziran.
393 [fn:3] Preko downcasing naslova, zamene ne-ascii znakova sa “ i biranjem
394 prve reči kao da je jedinstvena.
396 [fn:4] U TaskJuggler-u dodeljivanja su kumulativna, izvoznik međutim,
397 dodaje neke kodove tako da su nasleđena dodeljivanja ignorisana kada se
398 eksplicitno dodeljuju resursu.