Published on

A pre-conference workshop at Code4Lib 2013. Facilitated by Jason Casden and Andreas Orphanides.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Fail4Lib Failing with graceand style... or not. Jason Casden and Andreas Orphanides NCSU Libraries(jmcasden|akorphan)@ncsu. edu
  2. 2. Outline1. Identifying and managing failure2. Failure anxiety!3. Talking about failure4. Lightning talks
  3. 3. Outcomes1. I like to think about wrongness and failure a. Can we talk about it in a productive way? b. Can we improve the ways we handle, seek, or discuss failure?2. Is this kind of workshop useful? a. There will be a survey.
  4. 4. Part 1: Identifying & managing failure
  5. 5. Readings1) The Long, Dismal History of Software Project Failure (Coding Horror) Sowing Failure, Reaping Success (New York Times) On Being Wrong (Kathryn Schulz via TED)
  6. 6. Why "failure?"
  7. 7. Some flavors of failure● Technical failure● Failure to effectively address a real user need● Overinvestment● Outreach/Promotion failure● Design/UX failure● Project team communication failure● Missed opportunities (risk-averse failure) (!)● Failure to launch
  8. 8. Hosted by Nina McHale and Chris Evjy, featuring Monique Sendze, Jason Battles, Rachel Vacek, and Steve Teeri.
  9. 9. Access 2011
  10. 10. Biz Lit buzz● Lean startup principles● Failing fast● Pivots● Beginners mind● Wrongology
  11. 11. Managing risk● Building diverse teams● Expecting dead ends● Having fall-back plans● Fault-tolerant schedules● Establishing flexible goals at the start
  12. 12. Getting myself beat upAvoiding Schulzs assumptions 1) Ignorance assumption 2) Idiocy assumption 3) The evil assumption
  13. 13. Breakout 1: Understanding and dealing with failure in your own practice● What are the symptoms of failure?● How do you identify an incipient failure and try to recover/adjust?● What do you do after a project has failed? How do you make failure valuable? (Post-mortems, recovery, etc....)● How do you plan for the unknown when beginning a project?● How do you manage risk to mitigate potential damage when undertaking work in new areas?
  14. 14. Part 2: Failure anxiety!
  15. 15. Readings1) Mitt Romney learns the hard way: mission critical systems are called that for a reason (ArsTechnica) The Therac-25 disaster: the dangers of a “nothing will go wrong” mentalityShort version (CalPoly software engineering): report (Nancy Levison, PI of the Therac-25 investigation) -- Optional, but a fascinating read: How risk averse is too risk averse? Bruce Schneier on "Cover Your Ass" security policy (Wired)
  16. 16. 1: ORCA and contextual testing● Testing dimensions for realtime services● Communications strategy, training, etc● Resource deployment● Security, trust, timing, identity mgmt● Helpdesk support● Common-sense documentation management
  17. 17. 2: THERAC-25 & software control● Risk management and risk severity● High-risk software dev anti-practices ○ Inherited software, new hardware ○ Poor code design and management ○ Redundant hardware checks? ○ Test environment / reality mismatch● Limits and risks of software control● Opaque error reporting● Denial
  18. 18. 3: TSA CYA● Hindsight-based security practices● Relative risk versus perceived risk● "Just in case" thinking● Visible but ineffective "security theater"● What drives risk management decisions?
  19. 19. Breakout 2: Wheres the sweet spot?● How could these problems have been avoided, or their damage mitigated?● How can we manage the need for assigning blame? How do we focus on moving forward after a failure? Are there cases where finding a responsible party is warranted?● What liabilities are associated with too great a focus on blame/responsibility? What liabilities are associated with setting aside the assignment of responsibility?● What are the worst case scenarios for your own work? How does this affect your risk management choices?
  20. 20. Part 3: Talking about failure
  21. 21. Readings1) James Dyson on living a life of failure (37 Signals) Quantity always trumps quality (Coding Horror) Blameless PostMortems and a Just Culture (Etsy: Code as Craft)
  22. 22. Balancing credibility and flexibilityCertainty is a limited resource early onThis isnt an excuse for poor planning orcommunication
  23. 23. Iteration
  24. 24. "Pivots"
  25. 25. Breakout 3: Surviving failure, risk, and the unexpected with grace.● How do you prepare colleagues for unexpected outcomes?● What is your organization’s approach to risk and failure? ○ Is risk well-tolerated/well-managed? ○ What are the consequences of a failed project? ○ Is failure seen as an endpoint -- a negative outcome to an endeavor -- or merely a step in the development process?● How do you talk about “failure” with your colleagues? Supervisors? Stakeholders? Patrons? Reports? What kind of language do you use?
  26. 26. Lightning talks!