Wednesday, 9 November 2011

Product Management Commandments

To make products users love, its a journey with many distractions, deviations, pivots, iterations and often times surprises. Its fruitful to keep a set of commandments close to your heart/mind/desk, as an ever guiding lamp-post, keeping you on the righteous path of product success.

So, here we go and share the practices we like to stick to. Would love to have your thoughts.

12 Product Management Commandments at CommonFloor

  1. Look for the unmet need. When talking to users and customers, always be in a fierce desire to capture that unmet need - amid all the suggestions, feature requests and problems you might be listening to.
     
  2. Put your best brains (the engineers, developers) closer to users. This can drive through-the-roof innovation.
     
  3. You are not the user. Meet a new user every week and let her use your existing product, prototype and take observations.
     
  4. Create life like user personas after meeting/studying real users. Understand these personas so well that you could very likely predict your user's action when he/she misses an airport bus and has no cash left for booking a cab.
     
  5. Be absolutely clear and thorough with the "One Minute Product Value Proposition", which you validate each time you meet users.
     
  6. Be focused on getting the "Right Product" and let the engineers handle how to get the product right.
     
  7. Don't just get stuff done. Delight the user!
     
  8. New features are not the answer to existing problems. Observe, Analyse and Iterate to get existing things right.

    "Remove a feature to add a feature" - Deep, Linkedin.com
     
  9. Fail faster. Use quick prototypes (Paper sketch, mockups) to know whats not working and what might.
     
  10. Don't ever confuse product completion/launch as the success of product. Strive for creating a rapidly growing community of inspired, enthusiastic and loyal customers.
     
  11. No Black Box Nonsense. Let data clear the darkness.
     
  12. Have product guiding principles (aka motto/mission of your product) to continue innovating.
     
Inspired by Inspired.

Wednesday, 2 November 2011

Challenges using PHP drivers for Mongo

Php driver inconsistency handling data stored in Nested documents inside Mongo db.

Say inside dataCollection, we have a nested array attribs containing value => 1200
* To find, we need to query using a '.' in between, attribs.value =>1200. This is not the same behavior as in Mongo shell
* Results returned will be in nested array, no dots in between, this is how results will show up in Mongo shell.
* To update, first argument needs to be specified in a nested array, this is how its done in Mongo shell

Caching not just information with maxHeap's smartCache

I personally believe that a lot can be learnt from what happens inside a company itself. A lot of information is implicit and priceless. To capture this information is always a good thing, and to learn from it, better.

In our BI framework, we've developed our own caching. The caching is in a position where it can be used by not just the business intelligence framework, but anything inside the company. Ofcourse, mongodb's quick querying and ability to store and visualize complex data helps – and it has been a huge shift, at least for the tools team, in how applications could now behave and be developed.

So with a very fast cache in place, it was only a matter of time before we started capturing what the users of the BI framework, were doing. All that information was otherwise going to waste.

We capture that information now. And not just that, we learn from it. It takes a clever mathematical function to give a piece of information it's value. For instance, we now know which city and which area is important internally by evaluating now only how many times it has been requested but also the volume of data it yields. Once this was implemented, we started learning. Within a day, we knew what exactly we were looking at, most often, and what was returning the most promising results. And with that, you knew exactly what was more important from a business standpoint without the need of a guy with a calculator.

Our data is not just growing. It's also getting more clever.