@@ -36,6 +36,7 @@ import teslaSrc from './images/tesla.png'
3636import surveySrc from './images/devsurvey.png'
3737import planningSrc from './images/planning.png'
3838import testSrc from './images/tests.png'
39+ import performanceSrc from './images/perf-chart.png'
3940
4041const flowCode =
4142`// @flow
@@ -49,10 +50,10 @@ export default {
4950 slides : [
5051 < Slide >
5152 < Title > Intentional Architecture</ Title >
53+ < Statement > Dave Thompson</ Statement >
54+ < Statement > @limscoder</ Statement >
5255 </ Slide > ,
5356 < Slide >
54- < Title > Dave Thompson</ Title >
55- < Statement > @limscoder</ Statement >
5657 < div > < img src = { beakerSrc } alt = "beaker" /> </ div >
5758 < div > < img src = { agileSrc } alt = "agile" /> </ div >
5859 < div > < img src = { ftSrc } alt = "freshtracks.io" /> </ div >
@@ -65,18 +66,11 @@ export default {
6566 < Statement > trust > control</ Statement >
6667 </ Slide > ,
6768 < Slide >
68- < Title > Respond to change </ Title >
69+ < Statement > Agile helps < Highlight > organizations </ Highlight > continuously improve in dynamic environments </ Statement >
6970 < Delay >
70- < Statement > market change</ Statement >
71- < Statement > product change</ Statement >
72- < Statement > customer change</ Statement >
73- < Statement > technology change</ Statement >
71+ < Statement > Architecture helps < Highlight > systems</ Highlight > continuously improve in dynamic environments</ Statement >
7472 </ Delay >
7573 </ Slide > ,
76- < Slide >
77- < Statement > Agile helps organizations respond to change.</ Statement >
78- < Statement > Architecture helps systems respond to change.</ Statement >
79- </ Slide > ,
8074 < Slide >
8175 < Title > System changes</ Title >
8276 < img src = { goalSrc } alt = "architecture goals" />
@@ -87,29 +81,24 @@ export default {
8781 < img src = { cfTeamSrc } alt = "small team" />
8882 </ Slide > ,
8983 < Slide >
90- < Title > Success requirements</ Title >
91- < Statement > Small number of teams</ Statement >
92- < Statement > Limited communication paths</ Statement >
93- < Statement > Trust in dev team leads</ Statement >
84+ < Title > Conway's Law</ Title >
85+ < img src = { graphSrc } alt = "graph" />
9486 </ Slide > ,
9587 < Slide >
9688 < Title > Growing organizations</ Title >
9789 < img src = { largeTeamSrc } alt = "large team" />
9890 </ Slide > ,
99- < Slide >
100- < Title > Conway's Law</ Title >
101- < img src = { graphSrc } alt = "graph" />
102- </ Slide > ,
10391 < Slide >
10492 < Title > Case Study: too many cooks</ Title >
10593 < img src = { techBleedSrc } alt = "tech overlap" />
10694 </ Slide > ,
10795 < Slide >
10896 < Title > Intentional Architecture</ Title >
109- < Statement > Manage communication channels</ Statement >
110- < Statement > Extend the runway</ Statement >
111- < Statement > Improve velocity</ Statement >
112- < Statement > Manage tech debt</ Statement >
97+ < Statement > Manage < Highlight > communication channels</ Highlight > </ Statement >
98+ < Statement > Respond to < Highlight > new technologies</ Highlight > </ Statement >
99+ < Statement > Manage < Highlight > tech debt</ Highlight > </ Statement >
100+ < Statement > Improve < Highlight > velocity</ Highlight > </ Statement >
101+ < Statement > Ensure < Highlight > rapid code delivery</ Highlight > </ Statement >
113102 </ Slide > ,
114103 < Slide >
115104 < Title > Who's an architect?</ Title >
@@ -129,7 +118,6 @@ export default {
129118 < Slide >
130119 < Title > Bottom up architecture</ Title >
131120 < Statement > Teams need room to innovate novel solutions</ Statement >
132- < Statement > Ideas bubble up to architecture team</ Statement >
133121 < img src = { arrowSrc } alt = "arrow" />
134122 </ Slide > ,
135123 < Slide >
@@ -140,90 +128,83 @@ export default {
140128 < Statement > Disaster recover, security, internationalization, performance</ Statement >
141129 </ Slide > ,
142130 < Slide >
143- < Title > Architect role</ Title >
144- < Statement > Support team work</ Statement >
145- < Statement > Shepherd tech rollouts</ Statement >
146- < Statement > Manage tech debt</ Statement >
147- < Statement > Ensure successful deployments</ Statement >
148- < Statement > Nurture development environment</ Statement >
131+ < Title > Establish < Highlight > communication channels</ Highlight > within development workflow</ Title >
149132 </ Slide > ,
150133 < Slide >
151134 < Title > How?</ Title >
152135 < img src = { howSrc } alt = "how?" />
153136 </ Slide > ,
154137 < Slide >
155- < Title > Pull request </ Title >
138+ < Title > Pull Requests </ Title >
156139 < img src = { prSrc } alt = "pull requests" />
157140 </ Slide > ,
158141 < Slide >
159142 < Title > Resolving design issues</ Title >
160143 < Statement > Encourage individuals to propose solutions</ Statement >
161144 < Statement > Empower teams with time to research</ Statement >
162145 < Statement > Volunteer for pair programming</ Statement >
163- </ Slide > ,
164- < Slide >
165- < Title > Case Study: team driven architecture</ Title >
166- < img src = { mineralSrc } alt = "mineral ui" />
167146 </ Slide > ,
168147 < Slide >
169- < Title > Shepherd technology changes</ Title >
170- < Statement > Respond to new technology, but...</ Statement >
171- < Delay >
172- < Statement > Avoid hype driven development</ Statement >
173- < Statement > Due diligence instead</ Statement >
174- < img src = { improveSrc } alt = "improve" />
175- </ Delay >
148+ < Title > < Highlight > New technologies</ Highlight > drive innovation</ Title >
149+ < img src = { improveSrc } alt = "improve" />
176150 </ Slide > ,
177151 < Slide >
178- < Title > Evaluate new technologies and processes</ Title >
152+ < Title > Evaluate risk</ Title >
153+ < Statement > Cost of failure drives planning investment</ Statement >
179154 < img src = { hypeSrc } alt = "hype" />
180155 </ Slide > ,
181156 < Slide >
182157 < Statement > Community support</ Statement >
183- < Statement > Performance and scalability</ Statement >
184- < Statement > Security</ Statement >
185- < Statement > Backwards compatibility</ Statement >
186- < Statement > Upgrade support</ Statement >
158+ < Statement > Backwards compatibility and upgrade support</ Statement >
187159 < Statement > Developer tooling</ Statement >
188160 < Statement > Extensibility</ Statement >
189161 </ Slide > ,
190162 < Slide >
191- < Title > Evaluate risk </ Title >
192- < Statement > Cost of failure drives planning investment </ Statement >
163+ < Title > Performance </ Title >
164+ < img src = { performanceSrc } alt = "performance" / >
193165 </ Slide > ,
194166 < Slide >
195- < Title > Story the work</ Title >
167+ < Title > Minimize Complexity</ Title >
168+ < img src = { systemSrc } alt = "system" />
169+ </ Slide > ,
170+
171+ < Slide >
172+ < Title > Story the questions</ Title >
196173 < img src = { spikeSrc } alt = "spike" />
197174 </ Slide > ,
175+ < Slide >
176+ < Title > Dealing with < Highlight > conflict</ Highlight > </ Title >
177+ < img src = { pieSrc } alt = "pie" />
178+ </ Slide > ,
179+ < Slide >
180+ < Title > Explain the decision</ Title >
181+ < Statement > Present from authority</ Statement >
182+ < Statement > Relate to larger goals</ Statement >
183+ < Statement > Be specific</ Statement >
184+ < Statement > Respond to questions and feedback</ Statement >
185+ </ Slide > ,
198186 < Slide >
199187 < Title > Plan the rollout</ Title >
200- < Statement > What need to be built?</ Statement >
188+ < Statement > What needs to be built?</ Statement >
201189 < Statement > What needs to be integrated?</ Statement >
202190 < Statement > What needs to be deprecated?</ Statement >
203191 </ Slide > ,
204192 < Slide >
205- < Title > Keep it simple</ Title >
206- < img src = { systemSrc } alt = "system" />
207- </ Slide > ,
208- < Slide >
193+ < Title > Drive adoption</ Title >
209194 < Statement > Optimize for the whole</ Statement >
195+ < Statement > Requires a compelling story</ Statement >
196+ < Statement > Teams < em > want</ em > to use it</ Statement >
210197 </ Slide > ,
211198 < Slide >
212- < Title > Take teams into account</ Title >
213199 < Statement > What are the mental models within the org?</ Statement >
214200 < Statement > What are the skill levels within the org?</ Statement >
215201 < Statement > What training does the org need?</ Statement >
216202 </ Slide > ,
217- < Slide >
218- < Title > Product/technology/pattern adoption</ Title >
219- < Statement > Requires a compelling story</ Statement >
220- < Statement > Teams < em > want</ em > to use it</ Statement >
221- </ Slide > ,
222203 < Slide >
223204 < Title > Case Study: Clojure</ Title >
224205 < Statement > Team spike</ Statement >
225206 < Statement > Tech analysis</ Statement >
226- < Statement > Voluntary book club </ Statement >
207+ < Statement > Voluntary training </ Statement >
227208 < Statement > Template service</ Statement >
228209 </ Slide > ,
229210 < Slide >
@@ -240,94 +221,54 @@ export default {
240221 < Code > { flowCode } </ Code >
241222 </ Slide > ,
242223 < Slide >
243- < Title > Making contentious decisions</ Title >
244- < img src = { gavelSrc } alt = "gavel" />
245- </ Slide > ,
246- < Slide >
247- < Title > Consensus breaks down</ Title >
248- < img src = { pieSrc } alt = "pie" />
249- </ Slide > ,
250- < Slide >
251- < Title > Get personal</ Title >
252- < Statement > Teams and 1 - 1</ Statement >
253- </ Slide > ,
254- < Slide >
255- < Title > Explain the decision</ Title >
256- < Statement > Present from authority</ Statement >
257- < Statement > Relate to larger goals</ Statement >
258- < Statement > Be specific</ Statement >
259- < Statement > Respond to questions and feedback</ Statement >
260- </ Slide > ,
261- < Slide >
262- < Title > Ensure r + d morale</ Title >
263- < Statement > Everyone wants to get features shipped</ Statement >
264- < Statement > Devs want to work on career relevant tech</ Statement >
265- </ Slide > ,
266- < Slide >
267- < Title > Frustrations</ Title >
268- < Statement > Tech debt + legacy tech</ Statement >
224+ < Title > < Highlight > Tech debt</ Highlight > frustrations</ Title >
269225 < Statement > Long lead times</ Statement >
270- < Statement > Cumbersome or slow tooling</ Statement >
226+ < Statement > Expensive features</ Statement >
227+ < Statement > Low morale</ Statement >
271228 </ Slide > ,
272229 < Slide >
273- < Title > Support the developer environment</ Title >
274- < img src = { teslaSrc } alt = "tesla" />
275- </ Slide > ,
276- < Slide >
277- < Title > Larger issues</ Title >
278- < Statement > Business wants to know roi</ Statement >
230+ < Title > How to prioritize tech debt?</ Title >
231+ < Statement > challenge: validating roi</ Statement >
279232 < Delay >
280233 < img src = { surveySrc } alt = "survey" />
281234 </ Delay >
282235 </ Slide > ,
283- < Slide >
284- < Title > Plan it!</ Title >
285- < Statement > Architecture team plans techdebt work</ Statement >
286- < img src = { planningSrc } alt = "planning board" />
287- </ Slide > ,
288236 < Slide >
289237 < Title > Case Study: too many tests</ Title >
290238 < img src = { testSrc } alt = "tests" />
291239 </ Slide > ,
292240 < Slide >
293- < Title > Measuring velocity</ Title >
294- < Statement > completed work / time increment </ Statement >
241+ < Title > Support the developer environment to improve < Highlight > velocity</ Highlight > </ Title >
242+ < img src = { teslaSrc } alt = "tesla" / >
295243 </ Slide > ,
296244 < Slide >
297- < Title > DevOps </ Title >
298- < Statement > Development teams are responsible for when and how their features are deployed to customers. </ Statement >
245+ < Title > Case Study: UI components </ Title >
246+ < img src = { mineralSrc } alt = "mineral ui" / >
299247 </ Slide > ,
300248 < Slide >
301- < Title > DevOps drives agile transformations</ Title >
249+ < Title > Measuring velocity</ Title >
250+ < Statement > completed work / time increment</ Statement >
302251 </ Slide > ,
303252 < Slide >
304- < Title > Ensure rapid and safe deployments</ Title >
305- < Statement > Rapid deployments reduce lead time</ Statement >
306- < Statement > Safety improves user experience</ Statement >
307- < Statement > Robust + repeatable CI/CD > more automation </ Statement >
253+ < Title > < Highlight > DevOps</ Highlight > </ Title >
254+ < Statement > Development teams are responsible for when and how their features are deployed to customers.</ Statement >
308255 </ Slide > ,
309256 < Slide >
310257 < Title > Culture of responsibility</ Title >
311258 < Statement > Enable teams to observe their deployment health</ Statement >
312259 < img src = { ftSrc } alt = "freshtracks" />
313260 </ Slide > ,
314- < Slide >
315- < Title > When deployments break</ Title >
316- < Statement > Plan for quick reaction</ Statement >
317- < Statement > Seek process and technical improvements instead of blame</ Statement >
318- < Statement > Identify what went right the other times</ Statement >
319- </ Slide > ,
320261 < Slide >
321262 < Title > Case Study: recent outage</ Title >
322263 < Delay >
323264 < Statement > Notified by alerts</ Statement >
324265 < Statement > Used metrics to evaluate severity</ Statement >
325266 < Statement > Debugged and remedied issue</ Statement >
326- < Statement > Retro: tests and protections for high customer load </ Statement >
267+ < Statement > Retro: identified missing tests and alerts + code remediations </ Statement >
327268 </ Delay >
328269 </ Slide > ,
329270 < Slide >
330- < Title > Bring intelligent architecture to your organization</ Title >
271+ < Title > Bring intentional architecture to your organization</ Title >
331272 < Delay >
332273 < Statement > Start small</ Statement >
333274 < Statement > Establish communication channels</ Statement >
@@ -338,5 +279,8 @@ export default {
338279 < Title > It's never perfect!</ Title >
339280 < Statement > quickly adapt > "the perfect architecture "</ Statement >
340281 </ Slide > ,
282+ < Slide >
283+ < Title > http://github.com/limscoder/react-present</ Title >
284+ </ Slide > ,
341285 ]
342286} ;
0 commit comments