forked from hakimel/reveal.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathagile.html
217 lines (203 loc) · 9.42 KB
/
agile.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Agile Development</title>
<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
<meta name="author" content="Bogdan Roman">
<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/endava.css" id="theme">
<!-- 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">
<div class="slides">
<section>
<h1>Agile Development</h1>
<h2>@ <strong>Endava</strong></h2>
<p><em>...an overview on our distributed agile approach...</em></p>
<p>
<small><a href="mailto:[email protected]">Bogdan Roman</a> | Software Engineer | 2015</small>
</p>
</section>
<section>
<section>
<h1>Agile</h1>
<p class="fragment current-visible grow">I've never been a great fan</p>
<p class="fragment current-visible grow">A necessary evil...</p>
<p class="fragment current-visible grow">Mostly because of the way organizations apply it</p>
</section>
<section>
<h1>Manifesto</h1>
<p class="fragment"><strong>Individuals and interactions</strong> over processes and tools</p>
<p class="fragment"><strong>Working software</strong> over comprehensive documentation</p>
<p class="fragment"><strong>Customer collaboration</strong> over contract negotiation</p>
<p class="fragment"><strong>Responding to change</strong> over following a plan</p>
<p class="fragment current-visible grow"><small>That is, while there is value in the items on
the right, we value the items on the left more.</small></p>
</section>
</section>
<section>
<section>
<h1>Diverse client base</h1>
</section>
<section>
<img src="img/team.png"/>
<p class="fragment current-visible grow"><strong>T</strong>he <strong>E</strong>ndava <strong>A</strong>daptive <strong>M</strong>odel</p>
</section>
<section>
<h1>TEAM</h1>
<p>A framework for delivering software projects</p>
<p>Both Agile / Planned Iterative</p>
<p>Built internally based on our experiences</p>
<p>Abstract Model</p>
</section>
<section>
<h1>TEAM - Dimensions</h1>
<ol>
<li>Process</li>
<li>Team Composition</li>
<li>Tools</li>
<li>Communication</li>
<li>Culture</li>
<li>People</li>
</ol>
<aside class="notes">
<ol>
<li><strong>Process</strong>, dealing with the methodical
adoption of industry leading process/es that
support the business and delivery needs
with strong consideration for the
environment in which they need to operate;</li>
<li><strong>Team Composition</strong>, deals with mobilisation
of a high performance teams capable of
working within the confines of the process,
industry best practice and technologies;</li>
<li><strong>Tools</strong>, ensuring that the tools support the
team and the process and compliment not
hinder the productivity and collaboration;</li>
<li><strong>Communication</strong>, establishing relationships,
agreeing timing, availability and
mechanisms;</li>
<li><strong>Culture</strong>, identifying the differences in
behaviour and expectation;</li>
<li><strong>People</strong>, deals with developing highly skilled
personnel we need on projects, mentoring
and training where appropriate;</li>
</ol>
</aside>
</section>
<section>
<h1>Project Stages</h1>
<ol>
<li>Inception</li>
<li>Planning</li>
<li>Envisioning</li>
<li>Concurrent Engineering</li>
<li>Closure</li>
</ol>
</section>
<section>
<h1>TEAM Explorer</h1>
</section>
<section>
<h1>Governance</h1>
<p>Abstract model -> requires implementation</p>
<ul>Representation from:
<li>Customer Facing Unit</li>
<li>Financial / Commercial / Legal</li>
<li>Project Management</li>
<li>Architecture / Development / Testing</li>
<li>Managed Services</li>
</ul>
</section>
</section>
<section>
<section>
<h1>TOP 5 Agile Gotchas</h1>
<ol>
<li>Organisational willingness is essential</li>
<li>Estimates will always set expectations</li>
<li>Agile does not mean no requirements or only loosely defined requirements</li>
<li>Agile projects still need governance</li>
<li>Set reasonable expectations for induction, ramp-up and rotation</li>
</ol>
<aside class="notes">
<p>Agile is still fairly new to many organisations, especially the big ones.</p>
<p>Not all customers have the organisational culture to execute an Agile project.</p>
<p>Agile allows us to take a very high-level backlog and provide estimates.</p>
<p>We need well-defined requirements in order to deliver efficiently.</p>
<p>Be prepared to have the right people assigned to your projects to fulfil governance roles.</p>
</aside>
</section>
</section>
<section>
<section>
<h1>Distributed Agile</h1>
<ul>Challenges
<li>Interaction</li>
<li>Infrastructure</li>
<li>Time differences</li>
<li>Cultural differences</li>
</ul>
</section>
<section>
<h1>In practice</h1>
<p>Mobile Banking and Payments platform</p>
<p>Built from scratch</p>
<p>Scrum</p>
<p>12 development teams</p>
<p>> 150 people involved</p>
<p>5 Countries / > 7 Locations</p>
<p>> 1 year</p>
</section>
</section>
<section>
<h1>Q & A</h1>
<p>Thank you for listening</p>
<p><small>Email me @ <a href="mailto:[email protected]">Bogdan Roman</a></small></p>
</section>
</div>
</div>
<div id="logo"><img src="img/logo.png"/></div>
<div id="footer"></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,
transition: 'zoom', // none/fade/slide/convex/concave/zoom
transitionSpeed: 'fast', // default/fast/slow
// 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>