• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Simple design and Testing by @zspencer for @rubytaiwan
 

Simple design and Testing by @zspencer for @rubytaiwan

on

  • 820 views

This presentation is about writing software for change by following the four rules of simple design.

This presentation is about writing software for change by following the four rules of simple design.

It is a very brief overview that can be presented in ~15 minutes.

Statistics

Views

Total Views
820
Views on SlideShare
799
Embed Views
21

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 21

http://speakerrate.com 20
http://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Simple design and Testing by @zspencer for @rubytaiwan Simple design and Testing by @zspencer for @rubytaiwan Presentation Transcript

    • “Simple” Design and Testing by @zspencer for @rubytaiwan on May 31, 2011 http://www.zacharyspencer.com @rubytaiwanWednesday, June 1, 2011
    • WTF is “SIMPLE?!” @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Everything is in my language of choice It’s all in a single method! Took the fewest keystrokes! It’s aesthetically clean! I just like it! @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Maximizing the amount of work *not* done @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • For Who? • The Users/Customers • The Stakeholders/Sponsors • The Team/You @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Your Users http://www.flickr.com/photos/57634636@N00/5134293410/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Your Stakeholders http://www.flickr.com/photos/the_warfield/4992455554/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Your Team http://www.flickr.com/photos/reinholdbehringer/1073165898/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Ok. How? @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Radiate Information Center Design On The User Write Changeable Code @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Radiate Information Center Design On The User Write Changeable Code @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Ok. How? @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • 4 Rules for Simple Design * Pass All Tests * Duplicate No Behavior or Configuration * Express Intent Clearly and Consistently * Have No Superfluous Parts @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • All Tests Must Pass! @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Automated Story Tests @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Automated Unit Tests @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Exploratory Testing http://www.flickr.com/photos/rogersmith/4947063094/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • No Duplication http://www.flickr.com/photos/vermininc/3327459367/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Smell Yer Code! http://www.flickr.com/photos/spine/2076612679/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Duplication Smells! http://rubylearning.com/blog/2010/11/08/how-does-your-code-smell/ • Reinvented Wheel • Data Classes • Combinatorial Explosion • Procedural Code • Middle Man • Repeated Value • Greedy Methods/ • Big Classes Modules @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Express Intent Clearly + Consistently! http://www.flickr.com/photos/spacelion/263948300/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Reveal Why http://www.flickr.com/photos/freeparking/2247693823/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • (Re)Name Stuff http://www.flickr.com/photos/cinderellas_blog/255282013/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Extract and Move Stuff www.flickr.com/photos/22746515@N02/2989699245/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Some More Smells! http://rubylearning.com/blog/2010/11/08/how-does-your-code-smell/ • Uncommunicative Name • Global Variables • Type Included in Name • Dynamic Code Creation • Inconsistent Names • Comments • Long Parameters • Complicated Booleans @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • No Superfluous Parts! http://www.flickr.com/photos/altuwa/4530651461/ @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • Photo Credits • Kids Using iPads: Kathy Cassidy • Walmart Storefront: Walmart Corporate • The Boardroom: The Warfield • Breakdancer: Gueorgui • Software Team at Work: Reinhold Behringer • Alfred Lord Tennyson: freeparking • Passing Test: Davey Brown • The Pelican: Cindy Andrie • Spy Plane: Roger Smith • Earth Mover: Bert Kaufmann • Octuplet Consumers:Vermin Inc. • Rube Goldberg Machine: Sebastian B • Smelling Wine: Rick @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011
    • More Learnin’ • A List of Books and Articles on Simple Design and Testing: http://bit.ly/simple_design_and_testing • Other Resources I Think Are Awesome (Broken Down by Speciality): http://bit.ly/zspencer_recommends • Pillars Free Webinars: http://pillartechnology.com/content/ webinarbrowse • Other Free Pillar Resources: http://pillartechnology.com/ page/agilelinks @zspencer -- http://www.zacharyspencer.com -- @rubytaiwan May 31, 2011Wednesday, June 1, 2011