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

In Praise of Smallness

B.J. Allen
February 21, 2014

In Praise of Smallness

My talk at the 2014 BigRuby conference in Dallas, TX.

Getting big things done is important. We praise big accomplishments, but those involved can usually point to the small decisions and actions along the way that made it all possible. Structuring teams, projects, systems, and processes to embrace smallness enables the big things to evolve and succeed. This talk will cover ways in which the teams behind TripCase have succeeded and failed while making big things happen one small step at a time.

B.J. Allen

February 21, 2014
Tweet

Other Decks in Technology

Transcript

  1. CAPITAL EXPENDITURE END TO END CAPACITY PLANNING ENTERPRISE GOVERNANCE OPERATIONAL

    RUN BOOK DATABASE SHARDING DISASTER RECOVERY PCI COMPLIANCE
  2. “students ... were randomly assigned to be quizzed at one

    of two frequencies – monthly or semimonthly. The group quizzed twice a month outperformed the less frequently quizzed group […] on both an end-of-semester examination and a delayed recall test administered 3 months later” (Kalaf & Hanna, 1992) “we examined whether low-stakes testing (quizzing) can be used to foster students’ learning ...Quizzing produced significant learning benefits, with between 13% and 25% gains in performance on summative unit examinations.” (Pennebaker, Gosling & Ferell, 2013)
  3. http://www.informit.com/articles/article.aspx?p=1833567 When a release engineering team spends a weekend in

    a data center deploying the last three months' work, the last thing anybody wants to do is deploy again any time soon. – Jez Humble
  4. Upgrading all […] components in one big-bang release is the

    highest-risk way to roll out new functionality. Instead, deploy components independently. ! Database changes can also be rolled out incrementally. Principle 1: Low-Risk Releases Are Incremental
  5. Deployment is what happens when you install some version of

    your software into a particular environment. ! Release is when you make a system or some part of it (for example, a feature) available to users. Principle 2: Decouple Deployment and Release
  6. When you deploy to production more often, you're practicing the

    deployment process more often. ! When you're deploying more frequently, working out what went wrong is much easier because the amount of change is much smaller. Principle 3: Focus on Reducing Batch Size