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
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と一緒にレガシーに向き合ってみた
nyafunta9858
0
440
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
110
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.3k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
220
AI巻き込み型コードレビューのススメ
nealle
2
2.4k
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
220
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
900
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.2k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.6k
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
9
4.7k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
3
430
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
360
Featured
See All Featured
A better future with KSS
kneath
240
18k
Optimizing for Happiness
mojombo
379
71k
The Pragmatic Product Professional
lauravandoore
37
7.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
180
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
The browser strikes back
jonoalderson
0
740
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
850
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
ラッコキーワード サービス紹介資料
rakko
1
2.5M
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
940
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
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