-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
336 lines (322 loc) · 13.2 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
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
<html>
<head>
<title>LAWFUL EVIL - Lets Be Evil</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<link href="static/style.css" rel="stylesheet">
</head>
<body>
<img src="static/LawfulEvilSticker_PY_9x2.svg" alt="Lets Be Evil">
<div class="container">
<!-- TLDR -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/AJvxxkPVoZE?start=26" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
<h1 class="display-4">Without Villains, There Would Be No Heros.</h1>
<p class="lead">Below is the TL;DR for how to run meetings like a Super Villain.*</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>New Business</h3>
<p>Announcements. Process New Work - Assign ToDos & Due Dates</p>
<h3>Completed Work</h3>
<p>Acknowledge work Completed this cycle - Congratulate Team Members!</p>
<h3>Unplanned Work</h3>
<p>Assign Unplanned Work for the Upcoming Cycle</p>
<h3>The Meeting Has Concluded</h3>
<p>Card Master should bang the gavel. Release to Recess.</p>
* Continue reading for the full process.
</div>
<div class="col-md-6">
<!-- Begin Mailchimp Signup Form -->
<link href="//cdn-images.mailchimp.com/embedcode/slim-10_7.css" rel="stylesheet" type="text/css">
<style type="text/css">
#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; }
/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
</style>
<div id="mc_embed_signup">
<form action="https://gmail.us5.list-manage.com/subscribe/post?u=aaf41a00e2ff8aad63181dd97&id=7baa0b6c57" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll">
<label for="mce-EMAIL">Subscribe for Villainy!</label>
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_aaf41a00e2ff8aad63181dd97_7baa0b6c57" tabindex="-1" value=""></div>
<div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
</div>
</form>
</div>
<h3> Pull Requests Welcome </h3>
<p> <a href="https://github.com/selfcommit/evil.cards">Find us on Github</a> </p>
</div>
<!--End mc_embed_signup-->
</div>
<hr>
<!-- Super Villains -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">What is a Super Villain?</h1>
<p class="lead">Super Villains can be any team member that likes organizing things.</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>What Are They?</h3>
<ul>
<li>Villains Plot, Plan and scheme - They Help Meetings Run</li>
<li>Ideally, a team should have multiple villains, and rotate them from cycle to cycle.</li>
</ul>
</div>
<div class="col-md-6">
<h3>Responsibilities</h3>
<ul>
<li>Running the pre-standup meta meeting</li>
<li>What went well last time?</li>
<li>What can we do better?</li>
<li>What does work generally look like this cycle? (Load, etc)</li>
<li>Ensure Blocked cards have clear unblock Task.</li>
<li>Resolving as much scut work as possible prior to the meeting.</li>
<li>Recording load on each Responsibility Lane from week to week</li>
<li>Protector of the realm (but mostly everyone's time)</li>
<li>Responsible for starting the meeting on time and ending as quickly as possible.</li>
<li>Trains other Card Masters - The more the better!</li>
</ul>
</div>
</div>
<hr>
<!-- Lanes -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">Lanes</h1>
<p class="lead">Stay in your lane... Until meeting time.</p>
<img style="width:100%;" src="static/screenshots/trello_new_business.png">
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<h3>New Business</h3>
<p class="lead">“Unrefined Material”</p>
<ul>
<li> All lane changes occur during planning meetings. </li>
<li>“Unrefined material” - Must have a potential due date.</li>
<li>Announcements for the next meeting</li>
<li>Problems with no defined solution</li>
<li>Unidentified “complaints”</li>
</ul>
</div>
<div class="col-md-4">
<h3>Unplanned</h3>
<p class="lead">"Refined, but not assigned."</p>
<ul>
<li>Work that has been touched and defined but not been assigned</li>
<li>Contains a due-date, at least 1 associated team member, goals that can be completed in 1 “cycle” - where a cycle is defined as the time between team standups.</li>
</ul>
</div>
<div class="col-md-4">
<h3>Blocked</h3>
<p class="lead">“Stalled, due to outside factors.”</p>
<ul>
<li>Blocked items cannot be actioned until the block is resolved.</li>
<li>Blocked card must have a clearly defined unblock task</li>
<li>Possibly send alerts to slack / notify team or manager</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-4">
<h3>Responsibility <small>[multiple]</small></h3>
<p class="lead">“Promised work, per cycle”</p>
<ul>
<li>Lane per group, for defining workload</li>
<li>Workload should be broken out by generalized types of work done by the team.</li>
<li>On an assembly line you might separate bolting parts together from painting the car.</li>
<li>Lane Capacity estimation formula: <p>$workers * $estimated_work_per_cycle</p></li>
</ul>
</div>
<div class="col-md-4">
<h3>Tracking <small>[multiple]</small></h3>
<p class="lead">“Not Cycle dependant work”</p>
<li>Kept for reference</li>
<li>Items to be aware of, but not completed on a specific cycle.</li>
</div>
<div class="col-md-4">
<h3>Complete</h3>
<p class="lead">“Finished products go here”</p>
<ul>
<li>“Finished and kept in a lane until archived”</li>
<li>Cards need somewhere to go after they’re completed.</li>
</ul>
</div>
</div>
<hr>
<!-- Rules -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">Rules</h1>
<p class="lead">I'm a Villain, don't I make the rules? No - You're a <b>Super</b> Villain. Super Villains maliciously comply.</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>Here's the starter rule set.</h3>
<ul>
<li>All work enters at the New Business lane.</li>
<li>All work moves between lanes during a standup*</li>
<li>Transactions are not Work.</li>
<li>All cards should move through lanes at the standup.</li>
<li>Last - You must be in eye sight of the car before claiming shotgun. (This is not negotiable.)</li>
* It’s OK to add comments, change members and provide possible solutions to cards, but NOT ok to move them between meetings.
</ul>
</div>
</div>
<hr>
<!-- Process -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">Process</h1>
<p class="lead">Rules... all the way down.</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>The Lawful Evil Process, Longform.</h3>
<ul>
<li>Users populate to the New Business Lane between cycles</li>
<li>Card Master for the week reviews lanes before meeting.
<ul>
<li>Looking for missing information on New Business items</li>
<li>Comparing unplanned work for the coming week to estimated capacity in each lane.</li>
<li>Pushing unplanned work due dates where possible</li>
<li>Following up with team members individually to fix placeholder cards and confirm changes in </li>
</ul>
</li>
<li>Clear any cards in New Business
<ul>
<li>Determine if a card is:
<ul>
<li>Announcement (No action needed)</li>
<li>Complaint (Card should be reworked)
<ul>
<li>See “1-minute redirect”</li>
</ul>
</li>
<li>A Transaction - Transactions are problems with well defined solutions. These should not be processed.</li>
<li>Problem (Solutions should be suggested!)</li>
</ul>
</li>
<li>Collaborate solutions to the card
<ul>
<li>Define the problem as well as possible</li>
<li>Brainstorm a TODO list of items that can be completed in a cycle
<ul>
<li>Now is NOT the time to solve the problem</li>
<li>See “1-minute goals”</li>
</ul>
</li>
<li>$ESTIMATE_POKER_PLACEHOLDER</li>
<li>Move to Unplanned</li>
</ul>
</li>
</ul>
</li>
<li>Move any finished cards to Complete
<ul>
<li>Review cards marked as completed
<ul>
<li>This is a chance for discussion and praise</li>
<li>See 1-minute manager “1 minute praise”</li>
</ul>
</li>
<li>As part of the review of completed work -
<ul>
<li>Consider any new work that resulted.</li>
<li>Consider if this class of problem can now be transactional
<ul>
<li> See “Andon cord”</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Review work Planned for the current cycle
<ul>
<li>Determine if work is blocked</li>
<li>Determine if work is expected to be completed by the start of next cycle, or if due date needs to be updated.
<ul>
<li>Team member responsible for the card should ultimately determine the timeline. </li>
<li>External pressures such as other work that is blocked or external deadlines should be considered.</li>
<li>Any card with a new due date past the next cycle, should be moved back to Unplanned.</li>
</ul>
</li>
<li>Ensure all cards have a touch / comment / due date adjustment by end of cycle.</li>
</ul>
</li>
<li>Drain Unplanned work due before next cycle
<ul>
<li>Move any work due within the next cycle to the appropriate lane</li>
<li>Decide if any lane is overloaded, adjust if possible</li>
</ul>
</li>
<li>End the Meeting.
<ul>
<li>There should be a defined and concise step to end the meeting.
<ul>
<li>This prevents end of meeting add-ons and off topic discussion. </li>
<li>Team building is great - but stand-ups aren't the time.</li>
</ul>
</li>
</ul>
</li>
</ol>
</div>
</div>
<hr>
<!-- Resources -->
<div class="row">
<div class="col-md-12">
<div class="px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
<h1 class="display-4">Resources</h1>
<p class="lead">We get by with a little help from our friends.</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>References</h3>
<ul>
<li><a href="https://www.amazon.com/New-One-Minute-Manager-ebook/dp/B00MMG19OG">The New 1 Minute Manager</a></li>
<li><a href="https://www.amazon.com/gp/product/1942788002/ref=dbs_a_def_rwt_bibl_vppi_i1">DevOps Handbook</a></li>
</ul>
</div>
<div class="col-md-6">
<h3>Tools</h3>
<ul>
<li><a href="https://trello.com" target="_blank">Trello</a></li>
<li><a href="https://chrome.google.com/webstore/detail/original-card-counter-for/ggamggchfpnmhmkeicjgpedgjcllcefp" target="_blank">Original Card Counter for Trello (Chrome Extension)</a></li>
</ul>
</div>
</div>
<hr>
</div>
<footer class="footer">
<div class="container">
<span class="text-muted" title="You either die a hero, or live long enough to see yourself become the villain.">Lets Be Evil</span>
</div>
</footer>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
</body>
</html>