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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tom Wilson
April 02, 2014
Programming
1
120
Application Development
In Pursuit of Developer Happiness
Tom Wilson
April 02, 2014
Tweet
Share
More Decks by Tom Wilson
See All by Tom Wilson
JS the language every programmer should know
jackhq
4
660
AngularJS
jackhq
5
640
Programming Basics with JavaScript
jackhq
0
200
NodeJS-Talk @convergese 2012
jackhq
3
320
Pair Programming and TDD
jackhq
5
290
Other Decks in Programming
See All in Programming
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Architectural Extensions
denyspoltorak
0
290
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
100
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
210
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
130
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
53
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
How to build a perfect <img>
jonoalderson
1
4.9k
A Tale of Four Properties
chriscoyier
162
24k
Navigating Team Friction
lara
192
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
How to train your dragon (web standard)
notwaldorf
97
6.5k
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