-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
293 lines (273 loc) · 12.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Agile/Scrum</title>
<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
<meta name="author" content="Hakim El Hattab">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/sky.css" id="theme">
<link rel="stylesheet" href="css/font-awesome.min.css">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section>
<h1>Agile / Scrum</h1>
<h3>Development</h3>
<p>
<small>Created by <a href="http://www.perwagnernielsen.dk">Per Wagner Nielsen</a><br>Software Development Manager</small>
</p>
</section>
<section data-transition="fade-out">
<h2>What is Agile/Scrum</h2>
<p>
Scrum is an iterative and incremental agile software development methodology for managing product development.
</p>
</section>
<section data-transition="fade-out">
<h3>Roles and actors in Scrum</h3>
<p>
<ul>
<li class="fragment grow highlight-current-blue">Product Owner</li>
<li class="fragment grow highlight-current-blue">Scrum Master</li>
<li class="fragment grow highlight-current-blue">Development Team</li>
</ul>
</p>
<h3>Elements of Agile/Scrum</h3>
<p>
<ul>
<li class="fragment grow highlight-current-blue">Backlog</li>
<li class="fragment grow highlight-current-blue">Sprint</li>
<li class="fragment grow highlight-current-blue">Scrum</li>
<li class="fragment grow highlight-current-blue">Daily standup</li>
<li class="fragment grow highlight-current-blue">Burndown chart</li>
</ul>
</p>
</section>
<section>
<h2>Product Owner</h2>
<ul>
<li class="fragment">Works to direct the team to the right goal</li>
<li class="fragment">Creating a compelling vision of the product</li>
<li class="fragment">Responsible for prioritizing the backlog during development</li>
</ul>
</section>
<section>
<h2>Scrum Master</h2>
<ul>
<li class="fragment">Is the team's coach</li>
<li class="fragment">Shelters the team from outside distractions</li>
<li class="fragment">Leads daily stand-ups</li>
<li class="fragment">Focuses on helping the team be the best that it can bet</li>
<li class="fragment">Does not assign tasks to individuals</li>
</ul>
</section>
<section>
<h2>Scrum Team</h2>
<ul>
<li class="fragment">Each person contributes in whatever way they can to complete the work of each sprint</li>
<li class="fragment">Titles are irellevant within the Scrum team</li>
<li class="fragment">Individuals are expected to work beyond their preferred disciplines whenever doing so would be for the good of the team.</li>
<li class="fragment">Scrum teams manage themselves</li>
</ul>
</section>
<section>
<section>
<h2>Scrum elements</h2>
<ul>
<li>Backlog</li>
<li>Sprint</li>
<li>Daily standup</li>
<li>Burndown chart</li>
</ul>
</section>
<section>
<h2>Backlog</h2>
<p class="fragment grow">A prioritized features list, containing short descriptions of <strong>all</strong> functionality desired in the product.</p>
<ul>
<li>Owned by the product owner</li>
<li>Consists of user stories</li>
</ul>
</section>
<section>
<h2>Sprint</h2>
<p class="fragment">Is the basic unit of development</p>
<p class="fragment">Is a timeboxed effort; it is restricted to a specific duration</p>
<ul>
<li class="fragment">Should result in a <strong>done product</strong></li>
<ul>
<li class="fragment"><i>Bonus question: How do you define 'done'?</i></li>
</ul>
<li class="fragment">Consists of a subset of the backlog</li>
<li class="fragment">Each Sprint starts with a <strong>Sprint Planning Event</strong></li>
<li class="fragment">Each Sprint ends with a <strong>Sprint Review / Sprint Retrospective</strong></li>
</ul>
</section>
<section>
<h2>Daily Stand-up/Scrum</h2>
<p class="fragment">Daily short meeting where each member of the development team comes prepared to answer 3 questions</p>
<ol>
<li class="fragment">What did I do yesterday that helped the development team meet the sprint goal?</li>
<li class="fragment">What will I do today to help the development team meet the sprint goal?</li>
<li class="fragment">Do I see any impediment that prevents me or the development team from meeting the sprint goal?</li>
</ol>
<p class="fragment"><strong>Important: No detailed discussions take place at the stand-up</strong></p>
</section>
<section>
<h2>Burndown Chart</h2>
<p class="fragment">The sprint burndown chart is a public displayed chart showing remaining work in the sprint backlog</p>
<img src="img/jiraburndown.png" class="fragment">
<ul>
<li class="fragment">Updated daily</li>
<li class="fragment">Sprint burndown, Release Burndown, etc...</li>
</ul>
</section>
</section>
<section>
<section>
<h2>Getting started with Agile Scrum</h2>
</section>
<section>
<h3>First steps</h3>
<ol>
<li class="fragment">Find a designated Product Owner <i class="fa fa-check-square-o fragment"></i></li>
<li class="fragment">Product Owner to define the product</li>
<li class="fragment">Build product backlog</li>
<li class="fragment">Priotize the product backlog</li>
</ol>
</section>
<section>
<h3>High level estimates</h3>
<p class="fragment"><strong>Requirements: A backlog of user stories</strong></p>
<ul>
<li class="fragment">High level estimate (guestimates)</li>
<ul><li class="fragment">Pro tip: use story points for now, not time estimates</li></ul>
<li class="fragment">Estimate stories relative to each other</li>
<ul><li class="fragment">Pro tip: use Fibonacci sequence, 1,2,3,5,8,13,21 ... 987 ...</li></ul>
<li class="fragment">Estimate as a team (so we can learn from each other)</li>
<li class="fragment">After estimation: Review the priority of stories</li>
</ul>
</section>
<section>
<h3>Sprint Planning I</h3>
<p class="fragment"><strong>Requirements: High level estimates</strong></p>
<ul>
<li class="fragment">Scrum master: call the Sprint Planning Meeting</li>
<li class="fragment">Must attend: Product Owner, Dev. team, business analysts, testers</li>
<li class="fragment"><strong>Meeting agenda</strong></li>
<ol>
<li class="fragment">Decide Sprint length</li>
<li class="fragment">Decide Sprint goal (a done or shippable product)</li>
<li class="fragment">Clarify Sprint Requirements/spec. the product backlog</li>
<li class="fragment">Add items from backlog to Sprint Backlog</li>
</ol>
</ul>
</section>
<section>
<h3>Sprint Planning II</h3>
<p class="fragment"><strong>Requirements: Sprint Planning Meeting I done</strong></p>
<ul>
<li class="fragment">Primarily for dev. team and product owner</li>
<li class="fragment">Break requirements into tasks</li>
<ul><li class="fragment">Tip: design, development, testing, documentation</li></ul>
<ul><li class="fragment">Pro tip: State tasks as deliverables</li></ul>
<li class="fragment">Estimate tasks in hours as a team</li>
<ul><li class="fragment">Pro tip: Estimate as either 1,2,4 or 8 hours(round up)</li></ul>
<li class="fragment">Ensure sum(tasks hours) <= hours available. Otherwise, adjust by removing items from the Sprint Backlog</li>
</ul>
</section>
<section>
<h3>Sprint</h3>
<p class="fragment"><strong>Requirements: Sprint Planning Meeting II done</strong></p>
<ul>
<li class="fragment">Primarily for Scrum master and developers. Product Owner welcome.</li>
<li class="fragment">Daily standup, mandatory</li>
<li class="fragment">Scrum master to keep distractions away and remove impediments</li>
<li class="fragment">Product Owner to clarify user stories</li>
<li class="fragment">Update burndown chart daily</li>
</ul>
</section>
<section>
<h3>After Sprint / Sprint review</h3>
<p class="fragment"><strong>Requirements: Sprint is done</strong></p>
<ul>
<li class="fragment">Participants: Scrum Team, Product Manager, Stakeholders</li>
<li class="fragment">Purpose of Sprint Review:</li>
<ul>
<li class="fragment">Team to show what has been achieved in the Sprint</li>
<li class="fragment">Stakeholders to see the result and provide feedback</li>
<li class="fragment">Keeps the team focused on the Sprint -> we know we need to demo our achievements</li>
</ul>
</ul>
</section>
<section>
<h3>Sprint Retrospective</h3>
<p class="fragment"><strong>Requirements: Sprint Review</strong></p>
<ul>
<li class="fragment">Participants: Scrum Team, Product Manager</li>
<li class="fragment">Internal discussion on how the next Sprints can be done better</li>
<li class="fragment">Elements of the Sprint Retrospective:</li>
<ul>
<li class="fragment">Review Burndown Chart</li>
<li class="fragment">Discuss what went well in the Sprint</li>
<li class="fragment">Discuss what didn't go well in the Sprint</li>
<li class="fragment">Discuss and decided what changes to make in the next Sprints</li>
<ul><li class="fragment">Pro tip: Pick one or two action items and follow up on next restrospective</li></ul>
</ul>
</ul>
</section>
</section>
<section>
<h2>Final thoughts</h2>
<ul>
<li class="fragment">Expect 3-5 cycles of Sprints before you start to feel comfortable about it</li>
<li class="fragment">All beginnings are hard, it is a learning process</li>
<li class="fragment">Later: You will begin experimenting within Scrum and adept it to fit you better</li>
</ul>
<h1 class="fragment">Happy Scrumming<i class="fa fa-smile-o"></i></h1>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
slidenumber: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// Optional reveal.js plugins
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>