Product discovery – what exactly you call as “product”?

For my related post on involving customers during product development by making them co-creator, one of the readers comment that the same approach will not work in every product development. By involving customers during product development, it might look like a “service” to the customers by taking example of Google v/s Apple way of building products. In case of Google, they work on a product discovery approach, whereas Apple has taken the approach of “Don’t ask the customer what they want, many of the times they themselves don’t know” approach.  In my opinion, major differentiation between these two approaches come from what we “refer” as a “product”. Buying a “box” product  from the store and experiencing  it with hands-on is way different from accessing an online product. This has a significant change the way products are developed. Let me explain this from my own experience.

I used to work in a firmware development team, which had very close traction with hardware. We made certain firmware changes specific to hardware, any further changes to it will result in re-manufacturing the whole PCB. Also product milestones, changes/defect fixes were controlled (ex: All level-1 severity defects should be fixed before manufacturing release, which is the final release). Later point I moved to other team, where we were building cloud solutions from the scratch. Our first major launch was two days away where we had at-least a dozen level-1 bugs were open. When I asked how we can make the release, the product manager replied “We can go ahead and launch then regularly roll-in patch releases by observing customer usage. If customers are not facing any issues, it is fine. After all for this flexibility only we are moving to cloud”.  Well, this fundamental elementary thinking of how we look at defect fixing itself different when it comes to looking into products as something.

Thanks to advancement in cloud technology, tons of mobile and internet products are getting built every day by following the discovery process. They can release, iterate and then improve their products depending on how customers are responding to it.  Recently there was an article about Amazon’s product building which talks about similar approach. On contrast, when you are building anything that is closer to the hardware, taking this approach might create more problems. For example, given a trial a customer might say he wants infrared interface in it, which might result in months of time to tape out and re-design a new board. Whereas in case of web, if the customer wants a button to be changed, probably it can be done in few hours.

In conclusion, I would say product development largely depends on what exactly we call it as product. The development methodology should change and be in sync with it.

Product Innovation – A a non-linear item

Doing product innovation is a tricky affair, irrespective of organizations. Especially for product R & D organizations working on ‘end-of-the-life-cycle’ items, this becomes even more challenging.  Having associated with many innovation practices, councils and approaches I have had my own share of successes and failures. Want to share some experience in form of this post.

To start with innovation is a non-linear process, where predicting output is not very obvious. It is way different from linear activities as a part of software development life cycle, where activities and outputs are very well defined. Even though there are some changes expected from the customer (during development), it can be managed as long as risk management and stakeholder buy-in is place to a larger extent. On the other hand, nobody can predict who, when and how a new innovative idea can emerge. It doesn’t matter about the experience, background or designation; innovation cannot be planned but can only be nurtured by inspirational approach.

In my experience I have seen innovation as both top down and bottom up activity. In top-down typically it is driven by the senior leadership as a special initiative, task-force or specific activities by having a well defined approach. In such cases, many leadership teams take the decision of making it as a ‘project team’ approach where individual leaders and team members are ‘appointed’ and they are asked to take a deterministic approach towards new idea creation. In case of results from innovation becoming critical from innovation, it becomes as a ‘force’ from the top where people are asked to innovate by applying of pressure. In such cases I have hardly seen innovation happening.

On the other hand, when innovation is taken as a bottom-up approach I have seen it working pretty well. For example, I used to work on a consumer device which was initially considered as a standalone entity. Before even cloud or internet-of-things existed, some of us had the conviction that this consumer device should connect with some kind of server (because terminology of cloud was totally unaware of) which can push interesting contents into the device for consumption. As firmware engineers we built initial working prototype which demonstrated the so called ‘cloud-to-device’ functionality by fetching information from the remote server. Then we also got an opportunity to showcase in internal conference and well recognized by senior management.

However the real-fun began when we started interacting with product management folks to take it as a feature in the mainline product. The product marketing folks came back saying they had similar idea in the past, which received lukewarm response from their initial customer survey, hence they may not be interested in taking it as a formal requirement in the product. It was not a easy thing to digest as we have put our heart-on-soul to make the idea fly, but eventually came in terms with reality. Of course, when the cloud computing became a differentiation in business, it was implemented as a big ticket project. It was interesting to be part of idea generation, developing prototype, showcasing in internal conferences and making sincere selling attempts to internal stakeholders, even though it was not accepted as a ‘formal’ item for implementation.

What are the lessons learnt from this whole exercise:

  • Innovation works well when it is driven bottom-up with lots of passion behind it
  • Having a great idea and making a prototype definitely helps to generate initial buy-in as working prototype builds a lot of credibility
  • All ideas might not have buy in from product marketing folks as they have an altogether a different point of view about product and their features. On the other hand one cannot take the route of understanding the business needs first, which might actually block the creative process
  • Innovation is a non-linear activity where there is no success or failure. The biggest reward as an engineer is all about hitting upon an idea and evangelizing it among the organization and give a best shot to make it as a success. One in hundred might receive the success and visibility but it is worth giving it a shot.

Embedded self learning kits

Embedded systems is been my area of interest, ever since I attended computer networks course during my engineering days. In those days mainly networking devices were meant to be primary source of embedded systems as custom designed hardware and software would make networking (packet switching, routing, configuration & management etc…) faster. As a student Linux (or UNIX) was the primary source, where testing of target embedded image to be done in the same PC. In such cases getting the real kick of ‘embedded’ software was absent. Developing the embedded software in a host PC, using cross compiler/linker to generate target image, deploying it in target hardware (typically a board, which is supposed to perform certain functionality) was something an individual can only get in professional work environment to make the ’embedded’ learning complete.

Over a period of time I see the landscape changing significantly with multiple low cost self learning kits/devices flocking the market. Starting off with Texas Instrument’s Panda board, learning kits ecosystem started moving into a different level altogether.  Entry of Raspberry Pi  at $25 price-point about an year back, brought in further changes. Once these hardware folks release the initial hardware is out in the market, tons of open source enthusiasts backed by community are creating necessary software (ex: SDK) and projects by complementing it. This has opened up a new gamut of self learning opportunity, where individuals can learn latest embedded system concepts, programming and complete interesting project right from their homes or hostel rooms. As long as one has a booting Linux machine, it is enough to get started on these embedded learning kits.

Off-late there are multiple domestic providers in this field as well. The Kits and Spares online shop provides a whole bunch of such devices with which an individual can create small and useful projects. There are also specific training service providers like Thinklabs, who not only provide kits but also train in interesting projects like Robotics that can be built around the device. It’s been real fun to see combination of low cost democratic hardware with open source software, which is making Embedded systems learning very easy.

Shortly I am looking forward to lay my hands in one of these devices. Will share more details after that.

Ten types of Innovation – Concluding notes

With article on Bigbasket, the ten part innovation series comes to an end. When I understood the innovation types (created by Doblin) way back in 2011, my idea was to apply it from Indian context and make case studies fitting various types. It took two long years for me to complete this series with decent satisfaction.

Innovation has gone beyond building a particular product or service. By building something different doesn’t guarantee a business success, whereas ensuring customer derives value will. India, unlike some of the developed countries, is in the cusp of transformation where we have both traditional old school thinking and new school of thinking co-existing with each other. This made my inquiry to innovation all the more interesting. As and when I observed some innovative way to serve customers, I started mapping them back to Doblin’s model and came up with this whole series spanning across industries.

Please find URLs to individual posts as follows:

Innovation – Type 10 – Customer experience innovation [Case: Bigbasket]

Bigbasket
Bigbasket

The tenth and final type of innovation is around customer experience, which is all about creating a superior experience to customer’s entry to exit. In India many players attempted to do online grocery store for quite some-time now. It is extremely challenging business in Indian context (logistics, poor roads, unpredictable traffic, varying climate conditions etc…), which Bigbasket is able break by creating very good customer experience around it. I have personally tried and tested this many times, it works all the time with great experience.

Simple and effective User interface

The first thing that impressed me about Bigbasket is their simple and effective user interface. It was very easy to search/navigate for individual grocery items and create an order in a hassle free manner. Every item contains optimal information (neither too less nor too much) with put me into ease. Also when individuals go back for re-ordering, it keeps previous list handy for modification, which saves time for second time. This works very well for monthly grocery ordering.

Prompt alerts

While building an easy to use user interface might look relatively easy, integrating with backend supply chain to meet the promise is super critical. Especially in India, where the probability of providing prompt service is less (due to inherent challenges like infrastructure) providing prompt alerts to customers about the order status creates a lot of trust. In case of Bigbasket I get regular alerts (both in form of email and SMS) about my order status. Just before the final delivery of goods, authentication PIN is provided via SMS, so that both delivery person and customer can be assured about delivery.

Service delivery guarantee

Bigbasket
Bigbasket

After placing order, customers get to choose the time-slot in which they wanted the goods to be delivered. This super critical item (similar to Flipkart’s cash on delivery service) which helps office goers to get goods delivered at a convenient time. Their interface also shows the current booking status and slot availability in order to help customers choose the proper delivery time. From execution point of view, I have always seen they deliver goods on the time promised.

Return policy and wallet

During delivery, in case of item mismatch (ex: quantity) or damage (ex: broken seal), Bigbasket delivery folks take it back without any questions. Upon entering these items in backend (using Mobile application) customers again get immediate notification about when the updated item will be delivered. In case of item return, the money is kept back in a digital wallet which can be adjusted for next purchase.

In summary right from order placing to goods return, Bigbasket has done massive integration and prompt execution of their service. This gives a great end-to-end experience for customers in terms of quality, on-time delivery and reliability.

Data structure assignments and torture

Data structure & algorithms form backbone of programming. It is expected that any computer science graduate to have very good experience in using various data structures like linked lists, queues, stacks, trees, hash tables etc. During my REC Warangal days, passing thru the Data structure course was a real torture. The professor will ensure we slog thru our bones by having a very strict evaluation mechanism to evaluate every other assignment. Let me explain this in detail.

To start with, every week a new assignment topic will be given. We will create a basic design and start coding them, while theoretical part was still thought in the classroom. By the end of the week (Sunday 5 PM) we were supposed to copy the corresponding C file into a particular directory with a particular format. If it is done even at 5:01, it will not be allowed as an automated script would block write access to directory. Followed by this, every C program will be turn thru a Shell script, which will find 20% of total lines randomly and delete from the program by placing some special character (ex: /* $ */) as a placeholder. There is also a mandate that all assignments should not have any comments, thereby preventing students escaping by filling up comment lines instead of actual C program statements.

The story is not over yet! During lab session (in the next week), one hour of time will be provided where each one of us needs to fill-up deleted 20% lines followed by successful compilation and execution of the program. Here also timings are very strict. Just after one hour a script will automatically logout each of us from the computer. In the final phase of evaluation each of us should show the truncated program (from previous phase, whatever state it may be) and explain/answer some difficult questions related to data structure, asked by the professor. At any point of time the professor gets doubt (of copying assignment) whole assignment score will be nullified.

At the age of 18, it was too much of a pressure to handle. Completing program on time, copying to specified directory before Sunday 5 PM, Missing a meal/dinner, Skipping sleep, trying to fill-up missing lines within a hour and answering questions was a too long a process. In order to make it effective, the professor distributed marks across all these phases, thereby one cannot escape so easily without working hard. At the end of evaluation, I used to get a huge sigh of relief and sleep like a baby for hours together. Each one of us used to curse the professor for torturing us so much!

Today when I look back, I get a totally different perspective. If not for that strong evaluation mechanism, each one of us could have become lazy and never learned the art of programming. We could have mugged up some programs and passed exams. In my another post about going technical hands-on, I mentioned about debugging some of my old Kernel programs within a week, even though I was out of touch from programming for years together now. Definitely, the DNA which got injected in form of data structure programming is still there in my blood, which is helping me to pick-up programming with ease.

I also tried out a Shell script (of deleting 20% random lines from a C program), will upload it soon.

Audiobooks – New mode of learning

I have been a regular reader of books over years now. Every year I used to read 12 books (one book a month) until 2012. Last year it was very challenging to keep up with work expectations, family priorities, travel and fitness related activities. Definitely I was missing books not sure where and how I will make time for it.

I stumbled upon audio-books in a book-store, thought of giving it a shot. Thanks to Bangalore traffic I at-least end up spending anywhere between 1 to 1.5 hours in traffic, where listening to FM radio or audio CD becomes boring after some time. I have interleaved it with Audiobooks, which has opened up new mode of learning. Following are the pros and cons of Audio-books.

Pros:

  • Excellent way to catch-up with book reading in a busy schedule added with traffic jams. After getting into the habit of listening, longer traffic jams have become an opportunity for me to listen to few chapters from audio-book.
  • Compared to physical book reading, audio books are faster. Based on my experience, I was able to complete one book in a week (with 7-8 hours of drive time). This definitely provides a ‘feel-good’ factor!
  • Easy to carry, share and store. Obviously they occupy less space inside and outside house, I am able to create a small sharing circle in office where we keep exchanging audio-books.

Cons:

  • Audio book listening experience cannot equate book reading experience. Especially during driving, I was not able to give 100% concentration on what is being told from the audio system. This also sometimes gives a ‘incomplete’ feeling
  • Relatively I found good audio books are costly than printed edition. At least in India, average book audio costs about 500 INR, which is quite high, compared to print edition. Of course it varies from book to book
  • Continuously listening to audio books creates a ‘boring’ feeling especially during long drives. It is good to interleave audio books with good music and radio. I found a decent combination of these three worked well for me.

Resources:

Technically, hands-on

Often ‘Technically, hands-on’ becomes a critical skill to have no matter the type of role/responsibility an individual is handling in an organization. Bitten by the same bug I thought of making my hands ‘dirty’ by working on some of the older Linux programs I have created. Long time back Yahoo used to offer their Geocities services, where individuals can create their personal websites. There were no automated wizard those days, where I ended up creating HTML pages on my own and uploaded into particular location (provide by Yahoo) by keeping all my older projects in ‘cloud’. Eventually Geocities services was discontinued by Yahoo, luckily a replica maintained by *.ws domain. I was able to retrieve all my old projects and corresponding data from this updated domain. Here is the URL, where I learned my first baby steps about personal website development and writing: http://geocities.ws/b_jayakumar2002

Cut to Linux! I have downloaded two of my older projects which perform the following functionality:

Both programs were written in older version of Kernel (2.4.2) whereas current mainline is running with 3.11. In the mean time the Glibc (GNU C library) also gone thru significant changes, some of the older routines and data types may not work as expected. Since I have been out of programming for years together, I had some initial difficulty to get these programs working. However I was taken by surprise the way open source help system has evolved over years. Let me state my key observations as follows:

  • Thanks to Virtualization, I was able to get a development machine up and running in a matter of 30 minutes using VMware. After trying out multiple distributions (Suse 11, Open Suse 12.3 and Ubuntu 12.04) I decided to go with Open Suse 12.3 as it offered all pre-built libraries. No doubt, Ubuntu offers excellent user interface, suites more to a desktop users than programmers
  • Compiling kernel and booting up new image has become much simple. There are very less manual steps to be followed as some of them (ex: making entry into grub) is created automatically. I still remember how much challenging it was to get kernel 2.4.2 image with lilo loader up and running!
  • There are tons of Linux related documentation, help sites and real-time experience sharing happening which makes getting help much easier. Especially Stackoverflow (http://stackoverflow.com/), TLDP (http://www.tldp.org/) and Linux-cross reference (http://lxr.free-electrons.com/) seem to provide anything ranging from syntax to data structure tracing inside Kernel
  • For any theoretical reference, Slideshare (http://slideshare.net) is having excellent presentations, where I was able to quickly refer back in case any theoretical questions
  • Linux Kernel debugging ecosystem also matured as lot. There are a bunch of diagnostics tools available (I only used strace, printk though), which makes Kernel debugging much easier. Need to explore more on both user and kernel space Linux debugging tools

It was fun to catch-up with programming after a long time. Will share more ,as I explore more into the world of Linux, Kernel and Open source!

Book retailing: Traditional v/s online

Recently I had a casual conversation with owner of a large scale book store. His is a family owned business, been in book retailing for decades with great passion for reading. Upon further discussions he mentioned about his book retailing business heading south (for months together) due to the emergence of e-commerce portals like Flipkart. It is quite obvious that e-commerce portals enjoy benefits of on-demand inventory, lesser operational costs (ex: rental) and direct supplier relationships helps to offer a better price. Added to that, most of Indian e-commerce portals are backed by heavy funds from venture capitalists, which help them to provide un-realistic discounts on books with additional benefits like free shipping, cash-on-delivery etc. Over a period of time, these e-commerce portals build valuation for the company based on number of transactions and incrementally grow by bringing more products (apparels, electronics, toys etc…) thereby becoming online mega store. On the other hand, traditional book retailers are struggling to keep up their operations with increasing rental/labor costs, overhead of inventory and limitation of not able to offer higher discount as it will affect their bottom line.

As a matter of fact this problem is not new. In countries like US e-commerce portals (likes of Amazon) took away significant market share from traditional book stores but some of them re-invented themselves and survived this challenge. I was wondering what Indian book stores (considering Indian context) can do to compete fiercely online bookstores. Here are some of my ideas which can be considered:

  • Similar to book stores of the west (ex: Barns and Noble) traditional book stores should re-shape themselves as modern libraries by creating a compelling reading experience around it. Readers should be compelled to walk in, take a look of their choice and spend hours in the shop by going thru their favorites. By adding additional factors (like coffee shop, comfortable table & chairs for reading, offering sample chapters for free etc…) these book shops can attract regular visitors who will potentially end up buying these books
  • There are some specific types of books (ex: Children books) come in various shape, size and weight, which is still not comfortable to buy online. As a parent I spent lot of time considering these aspects before buying book for my daughter by physically visiting the shop. Such type of books still has a lot of ‘touch-and-feel’ factor associated with it. Traditional retailers should think of some special promotions and tie-ups to push these books thru young parents and readers
  • Among adult readers (both fiction and non-fiction) there is a strong possibility to build a community based on common interest. Such communities combined with social media can be made as early adapters of new releases and share their viewpoints in terms of face-to-face get together, sharing book reviews, meeting authors directly and exchanging book related practical experiences. Such community should be provided with special discounts and covered under loyalty programs, thereby attacking clusters
  • Even now many of the traditional shop owners are expecting customers to physically walk into the shop and order for books. This should be changed by adapting home delivery based on phone order, building a micro-site for the bookstore where alternative channels of reaching out to the customer. Such new channels should be backed with excellent customer service in terms of delivery time and quality to re-invent the whole business.

I am not sure if any of the traditional book store owners got necessary mindset to re-invent their business by adopting new ways to sell books in this digital era. Unless they adapt to this change and re-invent the way they do business, it is going to be extremely difficult to survive.

Focus on the effort… as much as the result – Another perspective

This is the second part of my earlier blog “Focus on the effort… as much as the result” – http://jwritings.com/?p=562. In case you have not read that, I would suggest that you do before proceeding to read this.
While that blog presents a good picture of a project with high stakes, riveting rush by the team culminating in a nice photo finish (almost cinematic), there are some disturbing questions too. Why did it take until 2:00 pm on the release date to figure out that there was a long list pending? Shouldnt there have been appropriate checks and balances in place (especially since this was a release that multiple regions were looking forward to)? Shouldnt the stakeholders (folks who had made commitments to customers) been sounded off earlier that there could be a slip (in which case they could at least fore-warn the customers that there MIGHT be a delay)? What if the release had not happened even after all the effort?

Is this similar to our infamous Commonwealth Games experience where weeks before the games were scheduled to start the supervising committee found stinking toilets and unpainted stadiums and deplorable athlete village? Isnt it interesting that even a senior Indian official compared the whole Commonwealth Games fiasco to Indian weddings where things are chaotic right up till the last moment before miraculously falling in place in the nick of time? Has our Indian psyche trained us to see this whole episode as a “victory from the jaws of defeat” rather than a “last minute frenzy to barely manage to deliver after screwing up all along”. Even in this case, wasnt it passion and a heroic slog by the highly charged team that delivered the win rather than a methodical and systematic process?

Now if I have to weigh both sides and choose which of these two set of qualities – passionate and heroic sloggers vs methodical and process driven marchers, I would lay more emphasis on, I would much rather pick the former. Now I am not talking about these as mutually exclusive traits, but more as the dominant characteristics of the two sides.

Here is the reasons for my choice:

Software product development is inherently unpredictable. While you can do a reasonable job of approximations earlier during the development cycle, hard release dates pretty much “emerge” during the later stages of development. After about 12 years in product development, with 8 of those as a Product Manager, I have very rarely released a product exactly on the planned release date – and I have never felt bad about it. One of the best part of this job is the opportunity to say, “I dont mind if this product is launched a few days later, but I want the wow effect”. There are always last minute changes – enhancement that you want to add for the “wow” effect or a database query optimization that’s going to deliver faster customer response times – that you did not plan for when you wrote the specs 4 months back, but want it now!!!

This is especially true in case of start ups where priorities change fast, demands from a large customer can require you to rejig or do a course correction and you are constantly trying to do more with less resources and shorter time.

With best checks and balances and processes in place, you will still have your share of “2:00 pm on release day with a long pending list” days (the frequency pretty much depends on the pace of your business)…. and on those days, you’re seriously better off with a team that’s willing to go the extra mile than a team that’s dissecting what went wrong with the process or how many times the requirements changed.

NWritings