agile in a nutshell

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

Upload: dave-ungar

Post on 19-Jun-2015

187 views

Category:

Business


3 download

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

Page 1: 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.

Page 2: Agile in a Nutshell

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

Page 3: Agile in a Nutshell

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?

Page 4: Agile in a Nutshell

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

Page 5: Agile in a Nutshell

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?

Page 6: Agile in a Nutshell

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

Page 7: Agile in a Nutshell

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

Page 8: Agile in a Nutshell

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