Add Serbo-Croatian translation of the org-taskjuggler.org tutorial.
[worg.git] / org-tutorials / org-taskjuggler-scr.org
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
8 #+LANGUAGE:   scr
9 #+PRIORITIES: A C B
10 #+CATEGORY:   worg
11
12 [[file:index.org][{{Nazad do Workq”s indeksa index}}]]
13
14 * Uvod
15
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.
22
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]].
26
27 * Planirajte svoj projekat
28
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):
32
33 #+BEGIN_SRC org
34   ,* Accounting Software
35   ,
36   ,** Specification
37   ,
38   ,** Software Development
39   ,*** Database coupling
40   ,*** Back-End Functions
41   ,*** Graphical User Interface
42   ,
43   ,** Software testing
44   ,*** Alpha Test
45   ,*** Beta Test
46   ,
47   ,** Manual
48   ,
49   ,** Milestones
50   ,*** Project start
51   ,*** Technology Preview
52   ,*** Beta version
53   ,*** Ship Product to Customer
54 #+END_SRC
55
56 * Proceniti napor
57
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:
62
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]]
66
67 Rezultat vašeg projekta Org moda će izgledati nešto slično kao sledeće:
68
69 #+BEGIN_SRC org
70   ,#+PROPERTY: Effort_ALL 2d 5d 10d 20d 30d 35d 50d 
71   ,#+COLUMNS: %70ITEM(Task) %Effort
72   ,
73   ,* Accounting Software
74   ,
75   ,** Specification
76   ,   :PROPERTIES:
77   ,   :Effort:   20d
78   ,   :END:
79   ,
80   ,** Software Development
81   ,
82   ,*** Database coupling
83   ,    :PROPERTIES:
84   ,    :Effort:   20d
85   ,    :END:
86   ,
87   ,*** Back-End Functions
88   ,    :PROPERTIES:
89   ,    :Effort:   30d
90   ,    :END:
91   ,
92   ,*** Graphical User Interface
93   ,    :PROPERTIES:
94   ,    :Effort:   35d
95   ,    :END:
96   ,
97   ,** Software testing
98   ,*** Alpha Test
99   ,    :PROPERTIES:
100   ,    :Effort:   5d
101   ,    :END:
102   ,
103   ,*** Beta Test
104   ,    :PROPERTIES:
105   ,    :Effort:   20d
106   ,    :END:
107   ,
108   ,** Manual
109   ,   :PROPERTIES:
110   ,   :Effort:   50d
111   ,   :END:
112   ,
113   ,** Milestones
114   ,*** Project start
115   ,*** Technology Preview
116   ,*** Beta version
117   ,*** Ship Product to Customer
118 #+END_SRC
119
120 * Generisati Gantt grafikone
121
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:
126
127 : C-c C-c taskjuggler_project RET
128
129 Оvo vam dozvoljava da imate i druge članove za ovaj projekat kao što su
130 uvod i opšte napomene.
131
132 Za izvoz projekta do TaskJuggler-a jednostavno ukucajte sledeće:
133
134 : M-x org-export-as-taskjuggler-and-open
135
136 Оvo će vam otvoriti projekat u TaskJuggler-u kao što je i prikazano ispod.
137
138 #+CAPTION: Gantt grafikoni u TaskJuggler-UI
139 #+ATTR_HTML: alt="Gantt grafikoni u TaskJuggler-UI"
140 [[file:../images/taskjuggler/TaskJugglerUI1.png]]
141
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
146 nivelisani.
147
148 * Dodeljivanje resursa
149
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
154 definicije[fn:2].
155
156 #+BEGIN_SRC org
157   ,* Resources                                         :taskjuggler_resource:
158   ,** Developers
159   ,   :PROPERTIES:
160   ,   :resource_id: dev
161   ,   :END:
162   ,*** Paul Smith
163   ,    :PROPERTIES:
164   ,    :resource_id: paul
165   ,    :END:
166   ,*** Sébastien Bono
167   ,    :PROPERTIES:
168   ,    :resource_id: seb
169   ,    :END:
170   ,*** Klaus Müller
171   ,
172   ,** Others
173   ,*** Peter Murphy
174   ,    :PROPERTIES:
175   ,    :resource_id: doc
176   ,    :END:
177   ,*** Dim Sung
178   ,    :PROPERTIES:
179   ,    :resource_id: test
180   ,    :END:
181 #+END_SRC
182
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:
189
190 : #+PROPERTY: allocate_ALL dev doc test
191
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.
197
198 #+CAPTION: Dodeljivanje resursa
199 #+ATTR_HTML: alt="Dodeljivanje resursa"
200 [[file:../images/taskjuggler/assign-resources.png]]
201
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:
205
206 #+CAPTION: Gantt grafikoni sa višestrukim resursima
207 #+ATTR_HTML: alt="Gantt grafikoni sa višestrukim resursima"
208 [[file:../images/taskjuggler/TaskJugglerUI2.png]]
209
210 Očigledno moramo da definišemo zavisnosti između zadataka.
211
212 * Odrediti zavisnosti
213
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:
217
218 - The =ORDERED= imovina koja vam dozvoljava i navodi vas da dečiji zadaci
219   moraju biti kompletirani po tome kako se pojavljuju
220
221 -  The =BLOCKER= imovina, koja vam dozvoljava i navodi vas da zadatak
222    zavisi od
223
224     - od prethodnog siblinga (prethodni-sibling)
225     - od bilo kog drugog zadatka, startujući ~task_id~ property od
226       prethodnika
227
228 Ponovo, ovo je verovatno najlakši način za definisanje zavisnosti koristeći
229 kolumnu pregleda kao što je prikazano na ekranu ispod:
230
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]]
234
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
242 Beta i Ručni test.
243
244 #+BEGIN_SRC org
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
248   ,
249   ,* Accounting Software                                        :taskjuggler_project:
250   ,
251   ,** Specification
252   ,   :PROPERTIES:
253   ,   :Effort:   20d
254   ,   :BLOCKER:  start
255   ,   :allocate: dev
256   ,   :END:
257   ,
258   ,** Software Development
259   ,   :PROPERTIES:
260   ,   :ORDERED:  t
261   ,   :BLOCKER:  previous-sibling
262   ,   :priority: 1000
263   ,   :allocate: dev
264   ,   :END:
265   ,
266   ,*** Database coupling
267   ,    :PROPERTIES:
268   ,    :Effort:   20d
269   ,    :END:
270   ,
271   ,*** Back-End Functions
272   ,    :PROPERTIES:
273   ,    :Effort:   30d
274   ,    :task_id:  back_end
275   ,    :END:
276   ,
277   ,*** Graphical User Interface
278   ,    :PROPERTIES:
279   ,    :Effort:   35d
280   ,    :allocate: paul, seb
281   ,    :END:
282   ,
283   ,** Software testing
284   ,   :PROPERTIES:
285   ,   :ORDERED:  t
286   ,   :BLOCKER:  previous-sibling
287   ,   :allocate: test
288   ,   :END:
289   ,*** Alpha Test
290   ,    :PROPERTIES:
291   ,    :Effort:   5d
292   ,    :task_id:  alpha
293   ,    :END:
294   ,
295   ,*** Beta Test
296   ,    :PROPERTIES:
297   ,    :Effort:   20d
298   ,    :task_id:  beta
299   ,    :allocate: test, paul
300   ,    :END:
301   ,
302   ,** Manual
303   ,   :PROPERTIES:
304   ,   :Effort:   50d
305   ,   :task_id:  manual
306   ,   :BLOCKER:  start
307   ,   :allocate: doc
308   ,   :END:
309   ,
310   ,** Milestones
311   ,*** Project start
312   ,    :PROPERTIES:
313   ,    :task_id:  start
314   ,    :END:
315   ,
316   ,*** Technology Preview
317   ,    :PROPERTIES:
318   ,    :BLOCKER:  back_end
319   ,    :END:
320   ,
321   ,*** Beta version
322   ,    :PROPERTIES:
323   ,    :BLOCKER:  alpha
324   ,    :END:
325   ,
326   ,*** Ship Product to Customer
327   ,    :PROPERTIES:
328   ,    :BLOCKER:  beta manual
329   ,    :END:
330   ,
331   ,
332   ,* Resources                                         :taskjuggler_resource:
333   ,** Developers
334   ,   :PROPERTIES:
335   ,   :resource_id: dev
336   ,   :END:
337   ,*** Paul Smith
338   ,    :PROPERTIES:
339   ,    :resource_id: paul
340   ,    :END:
341   ,*** Sébastien Bono
342   ,    :PROPERTIES:
343   ,    :resource_id: seb
344   ,    :END:
345   ,*** Klaus Müller
346   ,
347   ,** Others
348   ,*** Peter Murphy
349   ,    :PROPERTIES:
350   ,    :resource_id: doc
351   ,    :limits:   { dailymax 6.4h }
352   ,    :END:
353   ,*** Dim Sung
354   ,    :PROPERTIES:
355   ,    :resource_id: test
356   ,    :END:
357 #+END_SRC
358
359 Ако izvozite primer iznad, TaskJuggler će napraviti raspored zadataka kao
360 što je pokazano na ekranu ispod.
361
362 #+CAPTION: Gantt grafikoni za zavisnostima
363 #+ATTR_HTML: alt="Gantt grafikoni za zavisnostima"
364 [[file:../images/taskjuggler/TaskJugglerUI3.png]]
365
366 Takođe TaskJuggler će vam dati pregled koliko će uposleni biti resursi i na
367 čemu rade. Pogledajte ispod sliku:
368
369 #+CAPTION: Grafikon upotrebe resursa
370 #+ATTR_HTML: alt="Grafikon upotrebe resursa"
371 [[file:../images/taskjuggler/resource-graph.png]]
372
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]].
375
376 * Export of other properties
377
378
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
382 TaskJuggler fajlu.
383
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.
387
388 * Footnotes
389 [fn:1] Možete kustomizirati tagove.
390
391 [fn:2] Оpet, naravno, ovaj tag može biti kustomiziran.
392
393 [fn:3] Preko downcasing naslova, zamene ne-ascii znakova sa “ i biranjem
394 prve reči kao da je jedinstvena.
395
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.
399