Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Application Development

Application Development

In Pursuit of Developer Happiness

Tom Wilson

April 02, 2014
Tweet

More Decks by Tom Wilson

Other Decks in Programming

Transcript

  1. About Me !   Tom Wilson !   Chief Technologist,

    Jack Russell Software !   A division of CareKinesis, Inc !   Building Applications and Development Teams for 15+ years
  2. I want to create an application that is just as

    easy to maintain as it is to create
  3. 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
  4. System of Systems !   Complex difficult to !  

    Support !   Maintain !   Upgrade
  5. Waterfall to Agile !   Started with complex Data Model

    !   New Web based interface !   New Dev Environment !   Small Team !   Implement and ship incrementally
  6. Results > SOA !   Complex !   easier to

    support !   easier to upgrade !   still hard to develop !   tightly coupled components
  7. Agile to Waterfall !   Launch MVP !   Continuous

    Deployment !   PAAS !   Extreme Programming !   OpenSource Stack
  8. Too Extreme! !   Users wanted slower pace !  

    batch features !   more stability !   more process
  9. results !   huge backlog !   easy to support

    !   easy to upgrade !   painful to develop
  10. Events, APIs and Bots !   activity stream !  

    trigger tasks from activities !   Http/json
  11. Our New Approach !   Quarterly Goals !   2

    week sprints !   javascript everywhere !   connect devs with stakeholders !   PAAS
  12. 2 week sprint !   2 days planning – redact

    stories to product team !   4 days dev !   2 days code review !   2 days qa
  13. Prototype !   Bootstrap !   AngularJs !   Firebase

    or PouchDb !   Collaborate RealTime
  14. Early Adopter !   Sames as Prototype !   Add

    NoSql Backend Mongo, CouchDb !   NodeJs !   Clearly Separate Concerns !   Bots and Job Queue
  15. MainStream !   convert to Applets and components !  

    Focus on Polish and Usability !   Product Boundaries !   Measure Everything !   Formalize Schemas {sql}
  16. Dev Goals !   Design in Real-Time (if possible) !

      Applets and Bots - Microservices !   Flexibility and Durability !   Javascript everywhere, until necessary