I love how everything has a fancy name now. We’ve been doing StartInTheMiddle / MinimumViableProduct / Prototyping / GetSomethingOut / StepwiseRefinement for years:
Customer: I must have anything I want from the database without asking you.
Me, 1 hour later: No problem, here’s your screen.
Customer: This only does does Customers. I want to pick “any” table.
Me, 1 hour later: No problem, now you can pick your table.
Customer: This dumps every column. I want to pick my own.
Me, 1 hour later: No problem. Now you can pick your columns.
Customer: This doesn’t sort. I want it to sort.
Me, 1 hour later: No problem. Now you can sort.
Customer: But I want multiple sorts, some ascending, some descending.
Me, 1 hour later: No problem. Sort any way you want.
Customer: It dumps the whole table. I want to filter.
Me, 1 hour later: No problem. Now you can filter.
Customer: It only give me local columns. I want columns from other tables, too.
Me, 5 mins later: Give me an example.
Customer: Here. Give me these linked columns and accumulators, too.
Me, 2 days later: OK. I figured out how to give you all this data too.
Customer: OK. This will work. Why didn’t you do all this in the first place?
Stepwise Refinement Method: Time to beta: 1 hour. Time to production: 3 days.
Waterfall Method: Time to beta: not applicable. Time to production: who knows?