Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Application Development
Search
Tom Wilson
April 02, 2014
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Application Development
In Pursuit of Developer Happiness
Tom Wilson
April 02, 2014
More Decks by Tom Wilson
See All by Tom Wilson
JS the language every programmer should know
jackhq
4
680
AngularJS
jackhq
5
660
Programming Basics with JavaScript
jackhq
0
220
NodeJS-Talk @convergese 2012
jackhq
3
330
Pair Programming and TDD
jackhq
5
300
Other Decks in Programming
See All in Programming
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
640
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
860
どこまでゆるくて許されるのか
tk3fftk
0
490
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
440
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
320
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
560
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
230
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
500
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
So, you think you're a good person
axbom
PRO
2
2.1k
Making Projects Easy
brettharned
120
6.7k
Google's AI Overviews - The New Search
badams
0
1.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Ruling the World: When Life Gets Gamed
codingconduct
0
280
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
It's Worth the Effort
3n
188
29k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Everyday Curiosity
cassininazir
0
260
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
530
Transcript
Application Development Pursuit of Developer Happiness
About Me ! Tom Wilson ! Chief Technologist,
Jack Russell Software ! A division of CareKinesis, Inc ! Building Applications and Development Teams for 15+ years
None
Experience I have made more mistakes I have tried to
learn from them
I want to create an application that is just as
easy to maintain as it is to create
long road no silver bullet
Three Approaches
Approach 1
BDUF ! Review all systems in the market !
Bring users from each system to provide features ! Use new platform ! Set unreasonable goals ! Add developers as needed
result
System of Systems ! Complex difficult to !
Support ! Maintain ! Upgrade
Approach 2
Waterfall to Agile ! Started with complex Data Model
! New Web based interface ! New Dev Environment ! Small Team ! Implement and ship incrementally
Success! kind of
Results > SOA ! Complex ! easier to
support ! easier to upgrade ! still hard to develop ! tightly coupled components
Approach 3
Agile to Waterfall ! Launch MVP ! Continuous
Deployment ! PAAS ! Extreme Programming ! OpenSource Stack
Awesome
Too Extreme! ! Users wanted slower pace !
batch features ! more stability ! more process
Enter Waterfall But we still called it Agile!
“Afraid to admit we are Waterfall”
we are awesome!
results ! huge backlog ! easy to support
! easy to upgrade ! painful to develop
Lessons Learned
avoid configuration as much as possible
clearly define your features Know your user
App Analytics ! mixpanel ! kissmetrics !
new relic
Loosely Coupled
Events, APIs and Bots ! activity stream !
trigger tasks from activities ! Http/json
Think in terms of Applets and Components
build a collection of apps
Applets and Bots
Our New Approach ! Quarterly Goals ! 2
week sprints ! javascript everywhere ! connect devs with stakeholders ! PAAS
2 week sprint ! 2 days planning – redact
stories to product team ! 4 days dev ! 2 days code review ! 2 days qa
Javascript Everywhere ! AngularJS ! NodeJS !
Npm ! Browserify ! CouchDb
Devs should be involved from concept to completion
PAAS Dev should have their own personal playground to explore
and share concepts
Prototype to Production
Just do it Do it Fast Do it better
Prototype ! Bootstrap ! AngularJs ! Firebase
or PouchDb ! Collaborate RealTime
Early Adopter ! Sames as Prototype ! Add
NoSql Backend Mongo, CouchDb ! NodeJs ! Clearly Separate Concerns ! Bots and Job Queue
MainStream ! convert to Applets and components !
Focus on Polish and Usability ! Product Boundaries ! Measure Everything ! Formalize Schemas {sql}
Dev Goals ! Design in Real-Time (if possible) !
Applets and Bots - Microservices ! Flexibility and Durability ! Javascript everywhere, until necessary
Thank You @twilson63