This repository has been archived by the owner on Jan 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
245 lines (223 loc) · 11.5 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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Agilité orienté flux avec Tuleap</title>
<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">
<link rel="stylesheet" href="css/reveal.min.css">
<link rel="stylesheet" href="css/theme/enalean/enalean.css" id="theme">
<link rel="stylesheet" href="lib/css/zenburn.css">
<script>
if( window.location.search.match( /print-pdf/gi ) ) {
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'css/print/pdf.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">
<!-- Front page -->
<section class="no-slide-number"> <!-- add class="no-slide-number" to hide the slide number during this slide -->
<h1>Agilité orienté flux avec Tuleap</h1>
<h3>Du Kanban à la revue de code</h3>
<div style="align: center; margin-top: 2em; font-size: smaller;">Jérôme Oufella <a href="https://twitter.com/jerolnx">@jerolnx</a> & Manuel Vacelet <a href="https://twitter.com/vaceletm">@vaceletm</a></div>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
<aside class="notes">
Je pense que l'on peut faire l'intro sur le premier slide
who are we
</aside>
</section>
<section>
<h1>Agilité orienté flux, kesako ?</h1>
<img src="img/quebec-saint-laurent.jpg">
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
<aside class="notes">
- Pourquoi: livrer plus vite (time to market), mieux (qualité), en respectant le budget
- Agile, accueillir le changement
- Kanban plutôt que Scrum: orienté flux, adapté pour des projets long cours
- Code review: qualité & on boarding
</aside>
</section>
<section>
<h1>Tuleap</h1>
<div style="overflow: hidden; width: 90%; margin: auto;">
<ul style="float: left; width: 45%;">
<li>Boite à outils pour la gestion de projet logiciel</li>
<li>Agile++, Cycle en V, ...</li>
<li>Libre, GPL v2</li>
<li>Evolue rapidement (1 livraison par mois)</li>
</ul>
<div style="float: right; width: 45%;">
<img src="img/tuleap-1.png" style="border: 1px solid lightgrey"/>
</div>
</div>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
<aside class="notes">
Introduce Tuleap
Quick History ?
ALM scope (all tools vs silot),
Tuleap moto:
- Software eng.
- Good enough
- learning vector
</aside>
</section>
<section>
<h1>Agile: Kanban</h1>
<img src="img/kanban.png" />
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
<aside class="notes">
- Columns
- Quick insert
- Real time !
</aside>
</section>
<section>
<h1>Gerrit Code Review</h1>
<ul style="float: left;">
<li>Plate-forme web :</li>
<ul><li>Revue de code</li>
<li>Gestion des dépôts Git</li>
<li>Gestion des <em>workflows</em> Git</li></ul>
</li>
<li>Licence Libre (Apache 2.0)</li>
<li>Évolue rapidement (3 versions par année)</li>
</ul>
<img src="img/gerrit-logo.png" style="float: right; border: 1px solid lightgrey;"/>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: Histoire, statut</h1>
<ul style="float: left;">
<li>Lancé par Google pour Android</li>
<li>3e génération d'outils avant lui (Mondrian, Rietveld)</li>
<li>Contributeurs: Google, SAP, Ericsson, SonyMobile, Cloudera, Spotify, GS, Nvidia, ...</li>
<li>Propulse Tuleap, Ring.cx, Android, Chromium, OpenStack, Eclipse, MediaWiki, Zephyr, Qt, Asterisk, ...</li>
</ul>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: revue de code</h1>
<img src="img/gerrit-review.png" />
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: commits révisables</h1>
<img src="img/xkcd-git-commit.png" />
<br/>
<small>(xkcd.com/1296)</small>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: workflow intégré</h1>
<img src="img/gerrit-workflow.png" height="55%"/>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: vérification intégrée</h1>
<img src="img/gerrit-verify.png" height="55%"/>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: revues automatiques</h1>
<img src="img/gerrit-reviewbot2.png"/>
<img src="img/gerrit-reviewbot1.png"/>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit: gestion fine de Git</h1>
<img src="img/gerrit-permissions.png"/>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
<section>
<h1>Gerrit en bref 1/3</h1>
<p>Oui, Gerrit est douloureux à utiliser...</p>
<ul style="float: left;">
<li>Workflow pas naturel</li>
<li>Ceinture rouge de Git requise</li>
<li>Revue de code systématique</li>
<li>Changement à gérer</li>
<li>(Photo CC Marya Figueroa from USA)</li>
</ul>
<img src="img/gerrit-lutte.png" height="60%" style="float: right; border: 1px solid lightgrey;"/>
</section>
<section>
<h1>Gerrit en bref 2/3</h1>
<ul style="float: left;">
<li>Pour nous il serait <strong>plus douloureux encore</strong> de ne plus l'utiliser.</li>
</ul>
<img src="img/gerrit-wcpgw.jpg" style="float: right; border: 1px solid lightgrey;"/>
</section>
<section>
<h1>Gerrit en bref 3/3</h1>
<p>Gerrit nous aide à:</p>
<ul style="float: left;">
<li>Accélérer notre agilité (<em>inspecter & s'adapter™</em>)</li>
<li>Augmenter la qualité de nos livrables et leur cadence</li>
<li>Réduire/contrôler la dette technique de nos programmes</li>
<li>Augmenter le « facteur bus » dans nos équipes <small>(Photo CC Robert Cutts)</small></li>
<li></li>
</ul>
<img src="img/gerrit-busfactor.jpg" style="float: right; border: 1px solid lightgrey;"/>
</section>
<section>
<h1>A emporter</h1>
<ul>
<li>Kanban: optimiser son flux de livraison</li>
<li>Gerrit: intégration au plus tôt: limite l'effet tunnel</li>
<li>Lancez vous: <a href="https://tuleap.org">https://tuleap.org</a> !</li>
</ul>
<div class="footer"><img src="css/theme/enalean/img/enalean-logo-tiny.png" /><img src="css/theme/enalean/img/sfl-logo-tiny.png" /> <span class="who"><a href="https://twitter.com/jerolnx">@jerolnx</a> & <a href="https://twitter.com/vaceletm">@vaceletm</a></span></div>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.min.js"></script>
<script>
Reveal.initialize({
width: '100%',
height: '100%',
margin: 0,
controls: false,
progress: true,
history: true,
center: false,
slideNumber: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'fade', // default/cube/page/concave/zoom/linear/fade/none
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, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
]
});
</script>
<script>
function handleNoSlideNumber() {
var sections = document.querySelectorAll("section.present");
var slide_number = document.querySelectorAll(".slide-number");
for (var i = 0, length = sections.length; i < length; i++) {
if (sections[i].classList.contains('no-slide-number')) {
slide_number[0].style.display = 'none';
} else {
slide_number[0].style.display = 'block';
}
}
}
Reveal.addEventListener('ready', function(event) { handleNoSlideNumber(); });
Reveal.addEventListener('slidechanged', function(event) { handleNoSlideNumber(); });
</script>
</body>
</html>