He posed the follwing observation: "It still seems like it will take some time to complete, doesn't it?"
Now that observation struck me - it implicitly asks the question "How long will it take to complete?"
This question makes several assumptions:
- There will be a certain point when the product will be "complete"
- There will be a certain amount of time invested for reaching that point
- The time invested will cost money, and therefore affect the ROI
Now looking at the assumptions from an Agile/Lean perspective, let's see how they can be looked at differently:
Assumption: There will be a certain point when the product will be "complete"
Agile mindset has come to relize that a product will *never* be complete.
In fact, we don't want it to be complete - why?
Because the business requirements and ecosystem are bound to change throughout the lifetime of the business.
We want to create a situation where the product can change accordingly, always changing to accomodate new requirements and new business opertunities.
A product which will be "completed" will stagnate and hold the business back in the long run instead of helping the business grow and evolve.
So we should replace this assumption with a question, or two questions in fact:
- What is the *minimal valueable next step* we can make in the evolution of the product to help it keep in sync with the *current* business requirements?
- How can we make sure we can keep making such steps, such increments, in a sustainable pace in the future?
Assumption: There will be a certain amount of time invested for reaching that point
The point of completion is nonexistant, so there is no real meaning in asking how much time will be invested in getting there.
Instead, seeing as we want the product to keep changing and evolving, we should assume that each small increment will involve some time investment.
And what we shuld be asking is:
- What is the least amount of time we can invest right now in making an increment which will bring us maximum value?
(we want to hold on to Paretto's law - finding the 20% of invested time which will produce an 80% increment in value)
Assumption: The time invested will cost money, and therefore affect the ROI
This assumption makes another assumption - that time invested would cost money and would not save us money.
Instead, consider the following:
- Who is doing the work? if it's the customer himself, he is investing time but not paying anyone for it. So he is in fact saving money
- What kind of work are we investing in? If we invest time in creating a bad solution, we might end up with a product that will cost us more in the long run (in terms of maintenance costs). If we invest our time in a "good" solution, it would mean a solution that reduces maintenance costs in the long run = saves us money.
So the question should be:
- Can we invest the alloted time in teaching the customer how to do things himself instead of invesing in "hard labor manufacturing"?
- Can we invest the alloted time in solutions that will cost less in long term maintenance? (consider all costs involved in maintaining your product - including hsting costs, bugfixing, DBA work, website administration etc)
Instead of asking "how long will it take"? consider time as having several dimentions:
- Total (calendar) time - it is neverending and our product should keep evolving forever as long as the business keeps evolving
- Invested time - Spread it. Instead of spending a big amount of time upfront, think of spending a little bit of time every now and then.
- Cost - ask yourself how much that time costs you? How can you find ways to do more yourself (which will cost you nothing) and delegate "paid work" only for things you absolutely cannot do or for learnign how to do new things yourself
- Savings - ask yourself can you invest time in creating a solution that will reduce your long-term costs?
And remember - as Doctor Who puts it:
People assume that time is a strict progression of cause to effect, but *actually* from a non-linear, non-subjective viewpoint - it's more like a big ball of wibbly wobbly... time-y wimey... stuff.
Enjoy your journey, enjoy your time :)