Agile in a Nutshell

Post on 19-Jun-2015

181 views 3 download

Tags:

description

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

Transcript of Agile in a Nutshell

Agile in a nutshellas 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.

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.

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

.. Work with a product owner to iterate on the solution. Do this as fast as you can.

Just get across the chasm - To find out if that’s the place we want to goOne person at a time

Build in flexibility:>NOT so you can add specific features later>But so you can address UNKNOWN change with minimal impactBuild in Quality:>Appropriate architecture and completeness ONLY for the requirements given.>Quality – make sure the rope isn’t frayed and is tied tightly

Design a pulley system - because it takes less effort to crossQuality - Can it still hold the weight? Do the pulleys turn freely?

Negotiable quality – is there a secondary safety line? Should the rider have a helmet?

More stable & user friendlyHolds more weightMost people can get acrossQuality: strong lashings. (NOT easily removed later when if you want to upgrade the bridge!)

More durable – more trafficHolds more weightAverage vehicles can get acrossQuality: Solid architecture to hold a car, but not meant to hold two cars or support high speed traffic.

>Rope bridge is a sunk cost.>How much will it cost to refactor the rope bridge?>Is it worth it?

More scalableHolds more weightAny vehicle can get across, many at onceQuality: This is the mature product that meets the vision. ..until ……

Support ancillary value propositionsQuality: Is the existing structure capable of supporting additional functions? Or is it a significant change that requires cost justification?

Product differentiationCross mine and get a free pizzaMine has cool lights at nightMine was featured on a postcard and gets millions of visitors per year