Agile in a Nutshell


Published on

Do the simplest thing possible.
Do it well.
Don't be afraid of refactoring. Cost of refactoring is lower than cost of waste.

Published in: Business, 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

Agile in a Nutshell

  1. 1. Agile in a nutshell<br />as I hack my way through writing a script today (and as I relearn how to code :)) it occurs to me that it's the epitome of agile. First, just get "hello world" to print, then read & print the entire data stream, then start to parse it, parse it better, calculate things, add features, ..etc.. Didn't start with user experience, conditional logic, etc.. Code 2 lines, view output, code 5 lines, view output... every significant code change, view output. When it breaks, comment out the offending lines and add them in one at a time to learn which one broke it.<br />Seems elementary – yet we still want to plan for the end game when we develop software .. “what authorization will be required? what communication protocols? What’s the workflow?” .. Start with Hello World.<br />Exercise: Write simple code to scan page 1 of google results (search for …whatever) and put the results into a table with these columns: Title, URL, date<br />.. Work with a product owner to iterate on the solution. Do this as fast as you can.<br />
  2. 2. Just get across the chasm - To find out if that’s the place we want to go<br /><ul><li>One person at a time</li></ul>Build in flexibility:<br />>NOT so you can add specific features later<br />>But so you can address UNKNOWN <br /> change with minimal impact<br />Build in Quality:<br />>Appropriate architecture and completeness <br /> ONLY for the requirements given.<br />>Quality – make sure the rope isn’t frayed and <br /> is tied tightly<br />
  3. 3. Design a pulley system - because it takes less effort to cross<br /><ul><li>Quality - Can it still hold the weight? Do the pulleys turn freely?
  4. 4. Negotiable quality – is there a secondary safety line? </li></ul>Should the rider have a helmet?<br />
  5. 5. More stable & user friendly<br />Holds more weight<br />Most people can get across<br />Quality: strong lashings. (NOT easily removed later when if<br /> you want to upgrade the bridge!)<br />
  6. 6. More durable – more traffic<br />Holds more weight<br />Average vehicles can get across<br />Quality: Solid architecture to hold a car, but not meant to hold two cars or <br /> support high speed traffic.<br />>Rope bridge is a sunk cost.<br />>How much will it cost to <br />refactor the rope bridge?<br />>Is it worth it?<br />
  7. 7. More scalable<br />Holds more weight<br />Any vehicle can get across, many at once<br />Quality: This is the mature product that meets the vision. ..until ……<br />
  8. 8. Support ancillary value propositions<br />Quality: Is the existing structure capable of supporting additional functions?<br /> Or is it a significant change that requires cost justification?<br />
  9. 9. Product differentiation<br />Cross mine and get a free pizza<br />Mine has cool lights at night<br />Mine was featured on a postcard and gets millions of visitors per year<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.