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

Application Development

Application Development

In Pursuit of Developer Happiness

Avatar for Tom Wilson

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