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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tom Wilson
April 02, 2014
Programming
130
1
Share
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
670
AngularJS
jackhq
5
650
Programming Basics with JavaScript
jackhq
0
210
NodeJS-Talk @convergese 2012
jackhq
3
320
Pair Programming and TDD
jackhq
5
290
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
240
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
170
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
今さら聞けないCancellationToken
htkym
0
220
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
850
エージェンティックRAGにAWSで入門しよう!
har1101
5
110
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
3.2k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
How to Ace a Technical Interview
jacobian
281
24k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
420
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
130
How to train your dragon (web standard)
notwaldorf
97
6.7k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
Rails Girls Zürich Keynote
gr2m
96
14k
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