forked from kethinov/asyncmanifesto.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
143 lines (133 loc) · 6.25 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
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>
<meta name='format-detection' content='telephone=no'>
<meta name='description' content="It's time for a 21st century successor to Agile and Scrum based on modern tools, async communication, and flexible work environments.">
<title>Manifesto for Async Software Development</title>
<style>
html {
-webkit-text-size-adjust: none;
}
body {
font-family: 'Ubuntu', 'Helvetica', 'Geneva', 'Arial', sans-serif;
font-size: 20px;
font-weight: 100;
background-color: #ebe9f0;
background: url('work_anywhere.jpg') no-repeat center bottom fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
text-align: center;
}
h1 {
display: block;
font-size: 180%;
font-weight: 100;
}
h2 {
display: block;
font-size: 150%;
font-weight: 100;
}
h3 {
display: block;
font-size: 110%;
font-weight: 100;
}
.agileParody h1 {
margin: 100px 0 0 0;
}
.agileParody h2 {
margin: 25px 0 0 0;
}
.agileParody h3 {
margin: 0 0 100px 0;
}
.principles h2 {
margin: 50px 0 0 0;
}
p, li {
margin: 10px;
}
.agileParody {
margin-bottom: 100px;
}
.mission {
max-width: 450px;
margin: 0 auto;
}
.values {
margin: 25px;
}
.values p {
font-size: 125%;
font-weight: normal;
margin: 25px;
}
.values small {
font-weight: 100;
font-style: italic;
}
footer {
font-size: 80%;
margin-top: 100px;
}
</style>
</head>
<body>
<main>
<section class='agileParody'>
<header>
<h1>Manifesto for Async Software Development</h1>
<h2>It's time for a 21st century successor to <a href='http://agilemanifesto.org/'>Agile</a></h2>
<h3>And its most popular incarnation, Scrum</h3>
</header>
<p class='mission'>After many years of developing software using Agile methodologies like Scrum, the time has come to value:</p>
<div class='values'>
<p>Modern tools and flexible work environments <small>over meetings and office hours</small></p>
<p>Flexibility in prioritization <small>over detailed planning</small></p>
<p>Comprehensive documentation <small>over tribal knowledge</small></p>
</div>
<p class='mission'>That is, while there is value in the latter items, there is more value in the former items.</p>
</section>
<section class='principles'>
<header>
<h1>Principles of Async Software Development</h1>
</header>
<h2>Modern tools</h2>
<p>Whether you're a fan of <a href='https://www.gitlab.com'>GitLab</a>, <a href='https://github.com'>GitHub</a>, <a href='https://bitbucket.org/'>Bitbucket</a>, or something else, good async collaboration tools like these all share a few important things in common:</p>
<ul>
<li>Each deeply integrates version control with issue tracking.</li>
<li>Each offers rich prioritization and assignment features.</li>
<li>Each wraps all that up into a slick user experience that anyone on the team can use, including nontechnical people.</li>
</ul>
<h2>Meetings only as a last resort</h2>
<p>Meetings are very costly to your business.</p>
<p>That's because <a href='http://www.ted.com/talks/jason_fried_why_work_doesn_t_happen_at_work'>creative professionals need long stretches of uninterrupted time</a> to get meaningful work done.</p>
<p>Thus, async communication should be your default, because it prevents context switching.</p>
<p>Forget the planning meetings.</p>
<p>Product owners can replace planning meetings by simply filing issues in the issue tracker, assigning priority, assigning them to people, and setting a release milestone. People will know what to work on by simply working on whatever the highest priority issue is in their queue.</p>
<p>Skip the daily standups.</p>
<p>Product owners can ascertain status by reading the comment threads of issues currently being worked on and posting questions as needed.</p>
<p>Retire the backlog grooming sessions.</p>
<p>Product owners should own the issue queue and frequently reassess priority on their own. They should loop in other people on an as-needed basis for advice.</p>
<p>Call a meeting only when all other channels of communication aren't suitable for a specific issue.</p>
<h2>Flexible work environments</h2>
<p>Since modern tools and async communication makes 1950s-style meetings-centric office cultures obsolete, we can enjoy much more flexible work environments now.</p>
<p>Adopt a <a href='http://en.wikipedia.org/wiki/Hotelling_%28office%29'>hotelling</a> policy at your office.</p>
<p>Don't assign desks to anyone by default.</p>
<p>Anyone who requests an assigned desk should get to choose whether it's a private office or in a communal space.</p>
<p>Discourage one-size-fits-all space management. Some people work better in crowds, others work better at home. Let people decide for themselves.</p>
<h2>Document everything</h2>
<p>The better documented your workflow, the less your workers will need to interrupt each other to seek out tribal knowledge.</p>
<p>A question answered in a FAQ or some other form of async communication is much better than one answered by a <a href='http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer'>shoulder tap</a>.</p>
</section>
<footer>
<p><small>Thanks to Giorgio Montersino for the <a href='https://www.flickr.com/photos/novecentino/2340521934/'>background image</a>. Working from the beach sure beats daily standup meetings. <a href="https://github.com/kethinov/asyncmanifesto.org">See this website's source code on GitHub</a>.</small></p>
</footer>
</main>
</body>
</html>