Product Mindset: Fixed vs Agile
Value breakdown vs Work breakdown
Growing the value
I do not know why but when people come to build a software product, they are sometime not ready to understand the words like value and grow rather they will convert those words to delivery, deploy, extend, reuse and lock them in fixed frames in every possible way.
Fixed vs Agile
They will speak about agile like it is in their blood though will come up with
Fixed-cost, Fixed-time and Fixed-scope
to build a product. Then begins a race, push with all you have. Developer pushes to get some more time or feed them whatever is done. Sponsors pushes to finish it if possible today. And the agile boards and all the quality measures and efforts look more like a burden.
And there are some brokers in between, they will create unnecessary false pressure on engineering team and never ready to go to details or root cause but push it with tricks and pretentions, basically they never care about the product but about only their own gain.
So what is the solution,
Please bring agile in real life, let it breath and remove Fixed at least from any of these cost, time or scope. Let it grow.
End to end value delivery
In most cases as requirements are shaped by business and product people the value is significantly visible like below:
Value breakdown vs Work Breakdown
The value breakdown above is quite clear. Basic Login is a minimum value that can make it workable. Social Login is another value which can give ease and attract more audience. Multi-factor is another value that will give users more security and trust in this product. And they are exclusive to each other, like you can plan add another value saying feature 4: configurability, switch on/off multi-factor in any delivery.
[x] Social Login
[x] Multi-factor Login
But if the work breakdown is not done properly and sponsor wants one deployment with Social Login feature and another only with Multi-factor, engineers will raise their hands and say we need time to customize that.
Work breakdown:
Where it goes wrong! It goes wrong as engineers normally want to provide value through the framework not grow the value with required framework. Normally a typical engineer will breakdown his work to do above values in this below fashion. Where the values are not visible but all technical easiness.
There are many ways you can think but the significant two are:
Just by keeping the value one level up of technicalities can make huge change in whole product growth. And of course this discussion is almost meaningless if you think yourself as a agile minded guy but practice all fixed things through your real life.
Takeaway
If you do not keep scope to grow, it is normal that the growth will have complexity.
Disclaimer: The views reflected in this article are the views of the author and do not necessarily reflect the views of any past or present employer of the author.