Product complexity

The last blog on scope creep  naturally lead to this one. One of the primary reasons we have scope creep is that more and more features are thrusted onto the product with an expectation to deliver in a very short span of time. There are completely valid reasons why certain enhancements or changes need to be done asap, gaining a competitive edge being one of them. But then there are some unreasonable justifications like the team has bandwidth or we need more engagement.

A product needs to certainly grow in terms of its offerings with time, but the basic question is : are the new features being added, relevant to the core of the product ? In other terms, are they in any ways enhancing the customer experience ? The following graph explains it so well, I'll let it do the talking : 



Graph credit : Kathy Sierra

The product team always has an inside out perspective, we know too much and hence we assume too much. We know how the data flows and its very obvious what actions the users should take. But with more features, comes more choices for the user or 'decision overload'. It could very well be that the users are very satisfied with the current state of working and are using the product for its simplicity, making it more complicated than it needs to be could be counter productive.

Then there is also inter system complexity that needs to be taken into account. With data aggregation and a single consolidated view for the user, the product would be integrating with n systems in the back end. Without thorough systems analysis & integration done, we end up in a soup of non synced or inaccurate data and then spend a lot more effort and budget fixing those leaking taps. The advantage of having smaller multiple systems is that each performs a specific function standalone and it makes it easier to plug into another similar system down the road. It also reduces the reliance on one particular system. But they are need to work like a well oiled machine for the product to run smoothly.

Also with hundreds of products being released into the market every single day, the only way a product can sustain the competition is to meet the complex user needs in a simple way. If the needs are simple enough, the user could do it manually / semi-manually or use existing products to do so. So the need / problem needs to be complex enough to be worth solving but the solution can't be complex else the users would need be trained to use it ( like aviation pilots ) and that would limit the reach. Also if we follow the lean principles, it should be just minimal features to test the waters. Business Owners get excited from day 1 and have an elaborate list of features they want to incorporate which makes it a shaky start. It's great to have a product vision, but implement in manageable chunks.



 So to summarize, product complexity is very much required for the product to be of value however the challenge lies in shielding the complexity from the users ( end users as well as back end users ).