Successfully reported this slideshow.
Your SlideShare is downloading. ×

ACRUMEN Slides for RubyNation and CapitalGo, 2018

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 53 Ad
Advertisement

More Related Content

Similar to ACRUMEN Slides for RubyNation and CapitalGo, 2018 (20)

Advertisement

Recently uploaded (20)

ACRUMEN Slides for RubyNation and CapitalGo, 2018

  1. 1. @davearonsonwww.Codosaur.us ACRUMEN: Key Aspects of Software Quality by Dave Aronson Slides at: https://bit.ly/acrumen-rn-cg-2018
  2. 2. @davearonsonwww.Codosaur.us Do you like low quality software?
  3. 3. @davearonsonwww.Codosaur.us We need more software quality!
  4. 4. @davearonsonwww.Codosaur.us What is software quality?!
  5. 5. @davearonsonwww.Codosaur.us Who is this clown?
  6. 6. @davearonsonwww.Codosaur.us Experienced Developer
  7. 7. @davearonsonwww.Codosaur.us T. Rex of Codosaurus, LLC
  8. 8. @davearonsonwww.Codosaur.us Previous attempts:
  9. 9. @davearonsonwww.Codosaur.us So zoom out . . .
  10. 10. @davearonsonwww.Codosaur.us . . . to six aspects . . .
  11. 11. @davearonsonwww.Codosaur.us . . . with simple names and explanations . . .
  12. 12. @davearonsonwww.Codosaur.us . . . from many points of view. +
  13. 13. @davearonsonwww.Codosaur.us Acrumen: Latin for sour fruit
  14. 14. @davearonsonwww.Codosaur.us ACRUMEN: Prioritized acronym of aspects
  15. 15. @davearonsonwww.Codosaur.us does the right job does the job right hard to make misbehave easy (for users) to use easy (for devs) to change efficiently uses resources So what are the aspects already?! Appropriate Correct Robust Usable Maintainable Efficient Software should be: : : : : : :
  16. 16. @davearonsonwww.Codosaur.us N stands for… Nothing! Just makes a word.
  17. 17. @davearonsonwww.Codosaur.us The Importance of Being Appropriate ≠
  18. 18. @davearonsonwww.Codosaur.us Achieving Appropriate: Requirements Experts?
  19. 19. @davearonsonwww.Codosaur.us Achieving Appropriate: Talk to stakeholders!
  20. 20. @davearonsonwww.Codosaur.us Achieving Appropriate: Mockups, Prototypes, Demos
  21. 21. @davearonsonwww.Codosaur.us Achieving Appropriate: Propose Tests!
  22. 22. @davearonsonwww.Codosaur.us How do we know it’s Correct?
  23. 23. @davearonsonwww.Codosaur.us Achieving Correct: Proven by Tests!
  24. 24. @davearonsonwww.Codosaur.us Achieving Correct: Start with “appropriate” tests (high-level)
  25. 25. @davearonsonwww.Codosaur.us Achieving Correct: Low-level tests too
  26. 26. @davearonsonwww.Codosaur.us Defining Robust: Hard to make it misbehave Confidentiality Availability Integrity
  27. 27. @davearonsonwww.Codosaur.us Uphold Confidentiality: Don’t Reveal Info (w/o authorization)
  28. 28. @davearonsonwww.Codosaur.us Uphold Integrity: Don’t Alter Info (w/o authorization)
  29. 29. @davearonsonwww.Codosaur.us Uphold Availability: Don’t Be Unavailable (w/o authorization)
  30. 30. @davearonsonwww.Codosaur.us Defining Robust: Uphold CIA Triad even under attack
  31. 31. @davearonsonwww.Codosaur.us Achieving Robust: What could go wrong?
  32. 32. @davearonsonwww.Codosaur.us Achieving Robust: Think Like an Attacker
  33. 33. @davearonsonwww.Codosaur.us Achieving Robust: Handle Likely Problems
  34. 34. @davearonsonwww.Codosaur.us Defining Usable: Clarity
  35. 35. @davearonsonwww.Codosaur.us Defining Usable: What Else Can It Do? But wait! There’s more!
  36. 36. @davearonsonwww.Codosaur.us Defining Usable: Easy Despite Challenges
  37. 37. @davearonsonwww.Codosaur.us Achieving Usable: Usability (better, UX) Experts?
  38. 38. @davearonsonwww.Codosaur.us Achieving Usable: Guidelines, Standards, and Regulations
  39. 39. @davearonsonwww.Codosaur.us Achieving Usable: Testing!
  40. 40. @davearonsonwww.Codosaur.us Defining Maintainable: Easy to Change
  41. 41. @davearonsonwww.Codosaur.us Defining Maintainable: …with low fear of error…
  42. 42. @davearonsonwww.Codosaur.us Defining Maintainable: …and low chance of error…
  43. 43. @davearonsonwww.Codosaur.us Defining Maintainable: …even for a novice…
  44. 44. @davearonsonwww.Codosaur.us Defining Maintainable: …new to the project.
  45. 45. @davearonsonwww.Codosaur.us Achieving Maintainable: Good Names
  46. 46. @davearonsonwww.Codosaur.us Achieving Maintainable: Single Responsibility
  47. 47. @davearonsonwww.Codosaur.us Achieving Maintainable: Tests!
  48. 48. @davearonsonwww.Codosaur.us Efficient Use of Resources
  49. 49. @davearonsonwww.Codosaur.us Achieving Efficient: Measure!
  50. 50. @davearonsonwww.Codosaur.us Achieving Efficient: Algorithms and Data Structures
  51. 51. @davearonsonwww.Codosaur.us If our software is Appropriate, Correct, Robust, Usable, Maintainable, and Efficient, then Nobody should be sour about it! Conclusion
  52. 52. @davearonsonwww.Codosaur.us Image Credits, just to keep things legal; all images are either mine, used by permission, or found on Google Image Search with reusable-license filter (some requiring credit but not all) Alterations: http://www.barksdale.af.mil/News/Article/321176/military-clothing-sales-reopens-inside-base-exchange/ Billy Mays: https://commons.wikimedia.org/wiki/File:Billy_Mays_headshot.jpg Boards High Up: https://pixabay.com/en/boards-height-balance-2040575/ Business Silhouettes: http://www.publicdomainpictures.net/view-image.php?image=57465 Calipers: https://pixabay.com/en/diet-calorie-counter-weight-loss-695723/ Change: https://images.pexels.com/photos/259209/pexels-photo-259209.jpeg Checkers: https://commons.wikimedia.org/wiki/File:Draughts.svg Checklist on clipboard: https://pixabay.com/en/checklist-clip-board-blank-to-do-310092/ Checklist w/o clipboard: https://pixabay.com/en/checklist-list-check-check-list-911840/ Chess: https://bs.wikipedia.org/wiki/Datoteka:AAA_SVG_Chessboard_and_chess_pieces_03.svg Clear Night Sky: https://pixabay.com/en/british-columbia-canada-clear-lake-2382640/ Darth Vader: https://pixabay.com/en/star-wars-darth-wader-villain-2463926/ Data Structure: https://commons.wikimedia.org/wiki/File:A_diagram_of_the_Aho-Corasick_string_search_algorithm_extracted.png Dice: https://pxhere.com/en/photo/615255 Easy Button: https://www.flickr.com/photos/slgc/24803618672 Error X: https://commons.wikimedia.org/wiki/File:Dialog-error-round.svg Experts (tho Road Safety, not Requirements): http://archive.government.ru/eng/multimedia/photo/2013/3/#PhotoSwipe1528053974200 Experts (tho NASA, not UX): https://roundupreads.jsc.nasa.gov/pages.ashx/699/10%20things%20to%20know%20and%20share%20about%20the%20Eclipse%20Across%20America Eye Tester: https://commons.wikimedia.org/wiki/File:Test_type_to_test_eyesight,_England,_1920-1960_Wellcome_L0058205.jpg F-35 Flight Test: http://www.hill.af.mil/News/Article-Display/Article/838188/commentary-diamond-in-the-rough-commander-shares-514th-flts-mission/ F-35 Landing Test: http://www.eglin.af.mil/News/Article/814410/marines-fly-first-f-35-stovl-mission-at-eglin/ Feedback Circuit: mine (other than the “?” and the color, this was the TIDMADT logo.) Glucose Test: https://pxhere.com/en/photo/726931 Handle: https://pixabay.com/en/handle-door-handle-doorknob-lock-1200809/ International Space Station: https://www.flickr.com/photos/nasacommons/8980505397 Lemonade: https://pixabay.com/en/lemonade-lemons-glass-beverage-1447521/ Lemonhead: https://www.maxpixel.net/Face-Fruit-Citrus-Fruit-Angry-Sour-Citron-Lemon-155021 Long List: https://pxhere.com/en/photo/941467 Low Quality: https://pixabay.com/en/bad-review-bad-customer-review-2813741/ Man in Matrix: https://pixabay.com/en/man-despair-problem-null-one-65049/ Name Tags: https://commons.wikimedia.org/wiki/File:NFX_Guild_conference_name_tags.jpg New Guy: https://commons.wikimedia.org/wiki/File:New_Guy_(5895483627).jpg Novice: https://pxhere.com/en/photo/796734 One Job: https://bloodredstrider.deviantart.com/art/Fortune-Cookie-Fail-394495312 Ordered List: https://pixabay.com/en/steps-list-ordered-list-items-1496523/ Plan A/B/C: https://pixabay.com/get/ef37b10d21fd1c22d9584518a345479ee277e0d204b014439df0c47ba7eab1/planning-620299_1920.jpg Potatoes in Pot: https://pixabay.com/en/potatoes-fear-horror-pot-cook-3119211/ Prius: https://www.flickr.com/photos/toyota-europe/6759334043/in/photostream/ Quality Excellence Package: https://pixabay.com/en/software-packaging-quality-500956/ Simple list: https://commons.wikimedia.org/wiki/File:List_icon.svg Site Unavailable: https://pixabay.com/en/error-www-internet-calculator-101408/ Test Pattern: https://commons.wikimedia.org/wiki/File:RCA_Indian_Head_test_pattern.JPG The Codosaurus: by Fanie Gregoire, https://www.etsy.com/shop/fanie (used by permission) Thermos: https://zh.wikipedia.org/wiki/File:Thermoskanne(hoch,_silber).JPG Ties: https://www.publicdomainpictures.net/en/view-image.php?image=37274 Triangle: https://cdn.pixabay.com/photo/2016/03/31/17/52/geometry-1293961_960_720.png (words mine) Two Women at Laptop: https://www.flickr.com/photos/wocintechchat/22543243101 Usability Testing: https://www.flickr.com/photos/eekim/1819059803 Viking: https://pixabay.com/en/man-viking-barbarian-machado-1706964/ Weeds: extracted from https://commons.wikimedia.org/wiki/File:Indian_Weeds.jpg Wireframe Mockups: https://www.flickr.com/photos/qubodup/14793417722 Wizard: https://commons.wikimedia.org/wiki/File:Kandalf_wizard_mascot_kde.png Woman Programming: https://pxhere.com/en/photo/912909 Wondering Monkey: https://www.pexels.com/photo/brown-monkey-photo-767197/ Your Co's App: Eric Burke of StuffThatHappens.com (defunct)
  53. 53. @davearonsonwww.Codosaur.us http://www.Codosaur.us @davearonson (Twitter) Questions? Feedback? Training? ?

×