-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
244 lines (165 loc) · 5.06 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
<!DOCTYPE html>
<html>
<head>
<title>Shape Up Abridged</title>
<meta charset="utf-8">
<style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
ul {
line-height: 1.5;
}
</style>
</head>
<body>
<textarea id="source">
class: center, middle
# Shape Up
by Basecamp
---
# Summary
* Six-weeks cycles
* Shape up process
* Two-weeks cooldown
Goal: To target the risk of not shipping on time.
Anti-Goal: This isn’t about the risk of building the wrong thing.
---
# Problem
As software teams grow:
* "Projects are never-ending"
* PMs can’t find time to think strategically about the product
* Founders: "Why can’t we get features out the door like we used to in the early days?"
---
# Six-weeks cycle
* Long enough to build something meaningful
* Short enough you can feel the deadline looming
* Goal: Move the product forward in the next six weeks
\> "If this project ships after six weeks, we’ll be really happy. We’ll feel our time was well spent."
---
# Basecamp as a company
* 50-odd people
* No full time managers
* Their product is built around this method
---
# Shape up process
\> Shape the work before giving it to a team.
* Concretely enough that the teams know what to do
* Abstract enough to work out the interesting details themselves
* Wireframes are too concrete, words are too abstract
* Focus on appetite (instead of estimation): "how much time do we want to spend?"
---
# Case study: The Dot Grid Calendar
Current state:
* Events list with no grid
* Customer ask for a calendar
* Estimation: six months
* Difficulties
* Drag 'n' drop
* Multi-day events
* Drag the edge to change duration
* Desktop and mobile interactions
* From past versions: only ~10% of customers used them
---
# Case study: The Dot Grid Calendar
Shaped feature:
* Two-month read-only view
* Days with events would have a dot for each event
* Events list under the calendar
* Click on day scrolls on that day
---
# Case study: The Dot Grid Calendar
<p style="text-align: center;">
<img src="images/dot-grid.png" alt="dot grid calendar" style="width: 60%;">
</p>
---
# Case study: The Dot Grid Calendar
<p style="text-align: center;">
<img src="images/calendar-screenshot.png" alt="calendar screenshot" style="width: 60%;">
</p>
---
# Team sizes and members
* Give teams full responsibility
* Define their own tasks
* Change the scope
* Build vertical slices
---
# Mitigating risk
* Solve open questions before commiting to a project
* Cap to six weeks (circuit breaker)
* Integrate design and programming early
---
# Questions during shape up
* What are we trying to solve?
* Why does it matter?
* What counts as success?
* Which customers are affected?
* What is the cost of doing this instead of something else?
---
# No backlog
* By default, new raw ideas are rejected without being put in a backlog.
* If it's really important it will come up again.
---
# Baseline
* What customers are doing without the things we're currently building
* Compare against that and not the best solution that could be
---
# Bet
* Commit to a project with no interruptions
* With an expectation to finish
* Small batch and big batch projects
---
# Betting table
* Meeting during cooldown
* CEO, CTO, senior programmer, product strategist
---
# Hill Charts
<p style="text-align: center;">
<img src="images/hill-chart.png" alt="hill chart" style="width: 100%; margin-top: 50px;">
</p>
---
# Scopes on hill charts
<p style="text-align: center;">
<img src="images/hill-chart-move-scopes.gif" alt="hill chart move scopes gif" style="width: 100%; margin-top: 50px;">
</p>
---
# Build vertically
<p style="text-align: center;">
<img src="images/vertical-front.png" alt="vertical only front" style="width: 100%;">
<img src="images/vertical-opposite.png" alt="vertical opposite front back" style="width: 100%;">
<img src="images/vertical-works.png" alt="vertical both works" style="width: 100%;">
</p>
---
# Six steps
* Kick-off
* Orient
* Scope
* Build Vertically (get one piece done)
* Report (hill charts)
* Ship (scope hammer)
---
# Parallel tracks
<p style="text-align: center;">
<img src="images/shapeup-tracks.png" alt="shape up parallel tracks" style="width: 100%; margin-top: 70px;">
</p>
---
# <a href="https://basecamp.com/shapeup" style="color: inherit; text-decoration: none;">basecamp.com/shapeup</a>
<p style="text-align: center;">
<a href="https://basecamp.com/shapeup">
<img src="images/book.png" alt="book cover" style="width: 100%; margin-top: 30px;">
</a>
</p>
</textarea>
<script src="remark-d83c3ab.min.js">
</script>
<script>
var slideshow = remark.create();
</script>
</body>
</html>