Simplicty Appreciation 101


Published on

Presented at SoCal Code Camp 1/29/2011

Published in: Business
  • Be the first to comment

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

No notes for slide

Simplicty Appreciation 101

  1. 1. Simplicity Appreciation 101 by Craig L. Jones
  2. 2. 30 Years Software Development 12 Years Agile (mostly XP & Scrum) CSM & Scrum CoachRecovering Perfectionist
  3. 3. Simplicity is Hard Work
  4. 4. Problem #1: We tend to overcomplicatethings and make more work for ourselves Problem #2: Even worse, we tend to overcomplicate things and make more work for others
  5. 5. Solution #1: Adopting an Agile MethodologySolution #2: Addressing Complexity Head On
  6. 6. Exercise #1 - BrainstormName some examples of good, wrong, orneeded simplifications you have noticed lately... ✔ Business ✔ Software ✔ Consumer Products ✔ Elsewhere
  7. 7. Exercise #2 - AnalyzeNow, can you explain why they were, are, or would be simplifications?[If you cant, maybe its because you dont have a sufficient vocabulary for discussing simplicity.]
  8. 8. Exercise #3:Why Do People Resist Simplification Efforts?
  9. 9. For one, humans are natural builders andcreators, always looking to add, not so much tosubtract (except out of spite). People often say,“there ought to be a law against that.” Peoplerarely say, “we dont need that law anymore.”Also, humans tend to be myopic; to fixate onlywhat whats right in front of them.And again, we are not used to talking aboutsimplicity. Subtleties of simplicity are not in ourvocabulary.
  10. 10. A candidate vocabulary... The Laws of Simplicity by John MaedaCurrently, President of RhodeIsland School of Design.Previously, a Professor at MITat the time of writing the book(2005/2006).Just 100 pages. More
  11. 11. Maedas Ten Laws1. Reduce 9. Failure2. Organize 10. The One3. Time4. Learn Plus 3 essays on key5. Differences technologies...6. Context 1. Away 2. Open7. Emotion 3. Power8. Trust
  12. 12. 1. ReduceThe simplest way to achieve simplicity is through thoughtful reduction. SHE = Shrink, Hide, Embody
  13. 13. Even the Illusion of Reduction Can Help
  14. 14. Given a prioritized backlog of user stories andlimited resources for developing it, whats the best way to simplify the list?Passive Reduction Thoughtful Reduction1. XXXXXXXX 1. XXXXXXIXX2. XXXXX 2. XXXXIX3. XX 3. XX4. XXXXXX 4. XXXXIXX5. XXXX 5. XXXX-------------- 6. XXIXXXXXXX6. XXXXXXXXX 7. X7. X 8. XXIXXX8. XXXXX
  15. 15. 2. OrganizeOrganization makes a system of many appear fewer. SLIP = Sort, Label, Integrate, Prioritize(cf. CVA = Commonality/Variability Analysis)
  16. 16. “The best designers in the world squint whenthey look at something. They squint to see theforest from the trees–to find the right balance. Squint at the world. You will see more, by seeing less.”
  17. 17. 3. TimeSavings in time feel like simplicity.
  18. 18. ● Express lanes.● Next available window.● Making appointments●Finish booting up in the background whileuser logs in.●If you cannot make the wait shorter, thenmake it more tolerable.
  19. 19. 4. Learn Knowledge makes everything simpler.“Knowledge is comfort, and comfort lies at the heart of simplicity.”
  20. 20. Always be learning. “In the martial art ofKarate, for instance, the symbol of pride for ablack belt is to wear it long enough such that the die fades to white as to symbolize returning to the beginner state.”
  21. 21. “Tweaking” a Leko
  22. 22. 5. DifferencesSimplicity and complexity need each other.
  23. 23. While-You-Wait Service
  24. 24. Day in the Life of a Developer...Workflow better be simple: Logging time, defining work, collaborating onrequirements/designs, committing changes, deploying buildsThe work at hand can be complicated: Solving gnarly problems, interfacing withhardware and 3rd party APIs, performance tuning.
  25. 25. 6. Context What lies in the periphery of simplicity is definitely not peripheral. “The sixth Law emphasizes the importance of what might become lost during the design process. That which appears to be of immediate relevance may not be nearly asimportant compared to everything else around. Our goal is to achieve a kind of enlightened shallowness.”
  26. 26. “Complexity implies the feeling of being lost;simplicity implies the feeling of being found.”
  27. 27. 7. Emotion More emotions are better than less.“While great art makes you wonder, great design makes things clear.”
  28. 28. “Aichaku (ahy-chaw-koo) is the Japanese termfor the sense of attachment one can feel for an artifact. When written by its two kanjicharacters, you can see that the first character means love and the second one means fit. Love-fit describes a deeper kind of emotional attachment that a person can feel for an object. It is a kind of symiotic love for an object that deserves affection not for what it does, but for what it is.”
  29. 29. 8. Trust In simplicity we trust.How much do you How much does need to know the system about a system? know about you?
  30. 30. ● One-click shopping● Brand name consistency●The freedom of being able to Undochanges (Gift receipts are a form of undo)● Googles “Im feeling lucky” button.
  31. 31. 9. FailureSome things can never be made simple.
  32. 32. 10. The OneSimplicity is about subtracting the obvious, and adding the meaningful.
  33. 33. Key Technology #1. AwayMore appears like less by simply moving it far, far away.
  34. 34. Key Technology #2. OpenOpenness simplifies complexity.
  35. 35. Key Technology #3. Power Use less, gain more.
  36. 36. Exercise #4: Discuss the following simplificationtechniques and examples in light of the ten laws ...
  37. 37. Scrum/Agile/Lean Examples ● A4 Sheet● The 7 Wastes in Manufacturing and MPs Equivalent Wastes in Software Dev ● Timeboxing
  38. 38. Software Development Examples ● DRY (Dont Repeat Yourself) ● YAGNI (You Aint Gonna Need It)● Extract Method (Refactoring) and its opposite, Inline Method (Refactoring)
  39. 39. Business Process Examples ● Amazon order speed● Bill Bratten NY city subway cleanup ● Southwest Airlines seating
  40. 40. UI/UX Examples ● Wizards vs. Expert Mode● Proximity of error messages ● Uniformity of experience
  41. 41. Exercise #5:Discuss the following quotes in light of the ten laws ...
  42. 42. “Think simple as my old master used to say – meaning reduce the whole of itsparts into the simplest terms, getting back to first principles.” ~ Frank Lloyd Wright (1867-1959)
  43. 43. “Any fool can write code that a computer can understand. Good programmerswrite code that humans can understand.” ~ Martin Fowler
  44. 44. “Any intelligent fool can make things bigger and more complex... It takes atouch of genius - and a lot of courage to move in the opposite direction.” ~ Albert Einstein
  45. 45. “Optimism is an occupational hazard ofprogramming: feedback is the treatment.” ~ Kent Beck
  46. 46. “Simple, clear purpose and principles give rise to complex and intelligentbehavior. Complex rules and regulationsgive rise to simple and stupid behavior.” ~ Dee Hock, founder and former CEO, VISA
  47. 47. “The unavoidable price of reliability is simplicity.” ~ C. A. R. Hoare
  48. 48. “Simplicity is the most difficult thing to secure in this world; it is the last limit ofexperience and the last effort of genius.” ~ George Sand
  49. 49. “The problem with quick and dirty, assome people have said, is that the dirty remains long after the quick has been forgotten.” ~ Steve C. McConnell
  50. 50. “Simplicity is the ultimate sophistication.” ~ Leonardo da Vinci
  51. 51. “I’m erecting a barrier of simplicity between myself and the world.”~ André Gide, winner Nobel Prize in Literature, 1947
  52. 52. Craig L. Jones