Software Quality

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Software Quality - Presentation Transcript

    1. What happened to those nice words, “Software Quality”?
    2. A grumpy developer’s perspective
    3. And 4 simple steps
    4. Adrian Kosmaczewski
    5. Software developer
    6. since 1996
    7. Houston,
    8. “Our society depends on software”
    9. Bjarne Stroustrup
    10. Yes, but:
    11. Software Sucks
    12. (some of it)
    13. (mine does)
    14. (sometimes)
    15. 500M
    16. Integer overflow
    17. Nobody died
    18. Therac-25
    19. 6 people died
    20. Overexposed to radiation
    21. 1982 Soviet Gas Pipeline Explosion
    22. Largest non-atomic explosion of history
    23. Bug injected by CIA
    24. 1988 Morris worm
    25. First network worm
    26. Buffer overflow
    27. 1988 Russian “Phobos” Probe in Mars
    28. Bad thruster deactivation
    29. 1992 London Ambulance System
    30. No official statistics about casualties
    31. 1993 Pentium bug
    32. *giggle*
    33. 1998 USS Yorktown
    34. Ship lost in the ocean
    35. Divide by zero error
    36. 1999 Mars Climate Orbiter
    37. Miles or kilometers?
    38. 1999 Mars Polar Lander
    39. Vibrations? Cut the engines!
    40. Geez, it was the atmosphere... not the ground!
    41. 2000 National Cancer Institute, Panama
    42. 8 patients die
    43. 20 other overdosed
    44. Doctors indicted for murder
    45. 2003 USA Blackout
    46. Race condition
    47. 2006 Mars Global Surveyor
    48. Motor dead? Yes? No!
    49. Yeah!
    50. Ever heard about the CHAOS report? http://www.standishgroup.com/
    51. Status 1994 2006 Success 16% 35% Challenged 53% 46% Failed 31% 19% Source: http://tinyurl.com/yodqnw
    52. What about us?
    53. No space missions
    54. Smaller projects
    55. Similar problems
    56. Software is expensive
    57. ISO Certifications are worthless
    58. CMMI certifications are (less) worthless
    59. Software Quality theory is boring
    60. Well, almost
    61. Avoid being on The Daily WTF
    62. 4 steps
    63. 1. Pass the Joel Test 2. Avoid Open Spaces 3. At least write unit tests 4. Communicate
    64. 1 The Joel Test http://tinyurl.com/1s8w
    65. The Joel Test 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing?
    66. How much is your score?
    67. Be honest! :)
    68. 2 Avoid open spaces
    69. Cheaper?
    70. Why not? •Noise •Interruptions •Phones •iPods •Lack of privacy
    71. Ever heard about “Peopleware”?
    72. Buy it and read it
    73. “Flow”
    74. http://www.ndesign-studio.com/images/portfolio/graphic/flow-1.jpg
    75. Consequences •Low quality •Late delivery •Burnout •Turnover
    76. Turnover is your enemy # 1
    77. Cheaper in the short term means expensive in the long run
    78. 3 At least, write unit tests
    79. You’ll thank me
    80. • JUnit • JSUnit (JavaScript) • NUnit • WOTest (ObjC) • PyUnit • PHPUnit • Unit::Test (Ruby) • FoxUnit (FoxPro) • RSpec (Ruby) • Selenium • CppUnit (C++) • lisp-unit • Boost Test (C++) • DUnit • Autounit (C) • SchemeUnit
    81. Why?
    82. Easy
    83. Free
    84. Refactoring
    85. Documentation
    86. Usage examples
    87. Maintenance
    88. Architecture
    89. API Design
    90. Performance
    91. Good karma
    92. How much testing?
    93. Enough
    94. Don’t become fanatic
    95. (at least) One for every bug
    96. Avoid regressions
    97. Run them at every build
    98. Script that build!
    99. 4 Communicate
    100. Wiki
    101. Blog
    102. Trac
    103. Visual Studio Team System
    104. (yuck!)
    105. Bugzilla
    106. Meetings
    107. Don’t make them regular
    108. Make them ad-hoc
    109. Prefer code reviews
    110. Client on board
    111. Not always possible!
    112. But extremely useful
    113. Conclusion
    114. 1. Pass the Joel Test 2. Avoid Open Spaces 3. At least write unit tests 4. Communicate
    115. Thanks!
    116. Questions?
    SlideShare Zeitgeist 2009

    + Adrian KosmaczewskiAdrian Kosmaczewski Nominate

    custom

    183 views, 0 favs, 1 embeds more stats

    This is a presentation I’ve given at the second L more

    More info about this document

    CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

    Go to text version

    • Total Views 183
      • 181 on SlideShare
      • 2 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 13
    Most viewed embeds
    • 2 views on http://kosmaczewski.net

    more

    All embeds
    • 2 views on http://kosmaczewski.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories