Category Archives: Learning and Growing

Web Product Management and JavaScript

If you ask any product manager at a web firm if he does coding, he will respond with a firm “NO”. Then ask him what his work consists of, and he will explain about  use cases, features, experiments and other common responsibilities. At this point, you should ask him if he knows JavaScript and/or HTML and CSS. 90% of web product managers, whether in local market roles or offshore roles, will respond with a “YES”.

Today, it is almost mandatory for web product managers to have knowledge of web software development. And this knowledge is necessary not for software development, but for meaningful conversations about architecture, design and deliverables with the software team. [It helps a lot if you can speak their language!] One of the key components of this lingo is JavaScript, which is surprisingly easy to learn and fairly difficult to master.

In my opinion, JavaScript and Java and 2 programming paradigms similar to RISC and CISC microprocessor architectures. In earlier times, CISC dominated and it required a strong mastery over the instruction set, to construct good quality programs. Later, RISC (and parallel processing in multi-core microprocessors) made life easier for not-so-skilled programmers to churn out software. However, to build really good programs for RISC chips, you still need to learn a lot of “other” constructs apart from the chip’s instruction set. These other constructs are similar to the vast amount of libraries for JavaScript, which make life easier for a master programmer, but difficult for a product manager, if he wants to master coding. Even then, this is far simpler than the hundreds of patterns, libraries and classes that you will need to work on for many years to become a master at Java programming.

More formally, JavaScript is a client-side scripting language, which can be learnt quickly, and will definitely set you apart from the “non-techie” product managers. There are several tutorials that explain the syntax (Hello World!, decisions, loops etc) of JavaScript, and after that, it is just a matter of practising these learnings. Of course, you must have a basic knowledge of software development to fully “speak Javascript”.

So how does this help you as a product manager? As I mentioned before, it is useful in 3 scenarios:

1) Prototyping

No matter which prototyping tool you learn to use, a mockup will rarely be interactive unless you add JavaScript. HTML forms, pages and dialogs will become more clear than basic wireframes when you present the concept to the engineering team. This may even allow them to improve on your efforts during development.

2) Discussions

When your engineering team starts explaining  the benefits of designing “multi-threaded JavaScript objects” running parallelly versus a simple object pool, you should be very sceptical. And knowing JavaScript basics will allow you to research on the net why this could be a bad idea from a time, complexity and engineering resource point of view.

3) Career Development

While a JavaScript certification may never be a career changer, having JavaScript in your skill set, even with an MBA, will set you apart from the other product managers. It’s easy to learn, you can practice it on any laptop and use it practically when needed.

Apart from JavaScript, it is useful to learn HTML and CSS. And recently, there has been a lot of talk about “Big Data” technologies such as Hadoop, Hive, PIG etc. More on that in a later post.

Advertisements

True Stories: When Engineering Dominates Product Design

Sometime back, Slideshare decided to move from Flash to HTML5. As a PM, I would definitely support this decision if the cost-benefit analysis proved it (and Slideshare agreed with this), and this extended my product’s life-cycle. If this necessitates re-work, then that is the cost of product improvement, and must be accepted. However, if such a decision is taken because HTML5 is “cool” and Adobe Flash is “not cool”, then no self-respecting product manager should support it.

Here are 2 true stories (somewhat modified to hide identities), that illustrate incorrect design decisions.

I – The Perfect Design

A friendly neighborhood product manager narrated this to me a while back (If you’re in Bangalore, there are product managers in every neighborhood). He had joined a crack engineering team working on web technologies. Their mandate was to develop a high-performance, ad-publishing service for e-commerce websites. While he analyzed competing solutions and worked on a detailed PRD, the engineering team decided not to wait, and started building out a complex, computer science Artificial Intelligence (AI) model in a solution.

Six months later, the software was ready and the team started releasing it for various websites. Unfortunately, severe bugs kept cropping up in deployment, over different product components, which meant that a major re-design was probably necessary. After a lot of back and forth, where the PM was overruled, the team decided to keep their AI model, and started developing AI model version 2. After another three months, that too turned out to be too complex for high-traffic websites. In a bizarre twist, the team decided that the PM was not “technical enough”, and they wanted to promote someone from the engineering team as the PM.

Once the new PM came into the picture, he opened the PRD written by the former PM. The team abandoned the AI model version 2 and rebuilt the product based on competitors’ designs deployed on real websites.

Epilogue: The product was released a full year late, and has few real world deployments. While it has a smaller feature set than its competitors, it’s still shown as the “crowning achievement” of the engineering team in India. The former PM now works for an e-commerce site in the US.

II – The Immature Team Leader

In large Offshore Development Centres (OSDC) several engineering projects are incubated under the “20% Time” theory, popularized by Google engineering teams. These projects can often yield useful results, but many are not worth commercializing, especially if you are in the enterprise software business which is aligned towards solutions now.

Out of one such project, a team leader created a “secure web communication service”. He was feted for this effort, promoted and moved into product management. After he left, the team tried to advance the product into a usable form. They found that it:

  • supported only 6-10% of targeted throughput
  • did not support any browser except Firefox 3,4 and IE 7
  • had massive memory leaks, was crash-prone and hard to debug
  • used up enormous CPU time on the client side

Apparently, all this was suspected when the team leader was developing the product/service. However, as he was a “rising star” and favored by an engineering VP, everyone looked the other way and QA signed off quietly.

A year later, the product was discarded and replaced by a 3rd party product, purchased under a commercial re-use agreement, negotiated by the same PM’s manager!

Conclusion

There are countless opportunities for bright engineers in India to build products. However, the “code” is just a small part of the product, and if you have a bad design or software architecture, no amount of coding will make the product perform as expected. In India, the “development process” is often prioritized over rational decision making, which makes it impossible for the product manager to do his job (make a product succeed in the market over its life-cycle).

How To Start A PRD

Background

The Product Requirements Document (PRD) and the product roadmap are the two key artifacts that a product manager must have mastery over, for success in this role. In many firms, the PRD is called something else, such as a Business Analysis Document (BAD!), Product Requirement Specifications (PRS), Marketing Requirements Specifications (MRS) and so on.

Here are a few links to articles on different websites about what a PRD should contain.

One challenge you will face is that there is no easy way to start a PRD from scratch. And you will encounter such a situation if you join a startup, or begin work on a new product, or start working in a new firm. Here are some tips that can help you start the work:

A PRD Follows A Template

The PRD for a consumer electronics product, a web-based product or a VAS product such as caller ringtones are very, very different. Still, all the PRDs follow a common template used within the organization. You should pick up the most recent template in use based on past available PRDs and start filling out the different sections within the PRD.

If you are working in a startup, a quick web search will give you many links where you can download PRD templates. Use the template as a starting point, and simply remove all sections that do not seem important. What remains will allow you to begin writing product specs.

A PRD Is A Live, Versioned Document

As you start writing use cases, functional specifications or other details about the product and product usage, you will quickly realize that this is an iterative process. So you can take 2 approaches to make a good PRD – cover it depth-first or breadth-first.

The depth-first approach is good if there are multiple product managers, or if you have an external dependency. This way you completely scope out a set of features for the engineering team to review, and then to start their work.

The breadth-first approach works best when you are not sure of the specs., and have multiple engineering teams waiting for the PRD. This way, you have something for all the teams in the first draft.

Remember, even after a PRD is reviewed, and specs are accepted after modification, you can make changes and add those to the appendix. This way, a new joinee can see the document history, and understand the product evolution.

Start With Functional Use Cases

Unless the product is a set of API for scripts on the web to use, every product will have use cases. These will include how the product is installed, how it is started, how the controls function, what are the roles of the users and so on. These are easily translated into straightforward use cases.

You should list out all these use cases, write a one line summary for each of them and then break them into functional groups (error handling, security, startup etc). These will help you build the base of the PRD.

Break Up The PRD Into Sections

One section of the PRD must cover the business problem you are solving and the potential revenue opportunity. If you have those, and the functional use cases, you are very far along on the first draft of the PRD. Additional sections that you need to write specs. for will include the performance requirements, usage constraints, security specifications, dependencies and so on. You should spend a lot of time to write these, as these are the tricky issues that can cause major problems after product release.

Make Lots Of Diagrams

Any time you feel that there is a complex use case, or a particular system component is hard to describe, make a diagram. You can make block diagrams, flow charts and navigation maps and anything else required. And you can either add them to various sections of the PRD, or keep them at the end in the appendix. Make PPTs if required and insert them in the appendix.

More Is Good

A PRD must have a lot of details about every feature, requirement and scenario. This will remove ambiguity, simplify the design process and avoid trouble down the line. Use as much detail as possible for every facet of the PRD. It is actually for this reason that many firms use 2 versions of the PRD, a smaller version in PPT format summarizing the product release for external audiences, and a detailed version in a DOCX or XLSX format for review and referral.

Forget The Competition’s Features

Sometimes, a PRD will contain comparisons with a competitor’s product or even specific features. This is a waste of time, as you are comparing a current feature set with something you team will deliver much later. Such comparisons should not enter the PRD, however, you can add a list of internet resources on the competition to the references section of the PRD.

Summary

Writing a PRD is a prestigious task for a Product Manager. Following the guidelines listed above will let you create a high-quality PRD within a few weeks, that will be acceptable to all groups, and will allow engineering to build the solution that you describe.

Book Review: The Strategy and Tactics of Pricing

Strategy and Tactics of PricingThe Strategy and Tactics of Pricing is actually a management textbook, typically prescribed as a required reading or a reference text in a course on pricing for undergraduates or MBA students. However, the book is very well written and is a must read for all product managers. The book has also received glowing reviews on Amazon.com.

If you wish to understand how pricing is done, or take part in pricing discussions with senior leadership, or price a new product or service, read this book.

About the Book

The book talks about the 3 core principles of strategic pricing, that strategic pricing should be value-based, proactive (where you anticipate large deals, competition response and develop models to account for those) and profit driven (focus on your targeted profit). It then shows the limitations of cost-plus pricing, customer driven pricing and pricing for market share. A Wikipedia article has a detailed description of the different pricing strategies.

The other chapters in the book cover

  • value creation and what it means to the firm and its customers
  • pricing structures
  • pricing communication with stakeholders
  • pricing policy and pricing levels
  • pricing over the product life-cycle
  • driving implementation of the pricing strategy
  • understanding costs and basic financial analysis
  • competition and pricing sensitivity analysis
  • Following the ethics and laws on pricing

Overall, a complete reading of this book 2 or 3 times should make one confident to take up a pricing task and drive a pricing strategy. This information is of great value to a product manager in any role (on-site or offshore) for all types of product sales models (subscription, licensing, freemium, cost+maintenance and others). The challenge will be to keep these learnings since pricing decisions come around very rarely, and are normally taken up by the Director/VP of product management.

For Product Managers

Product pricing is a very important dimension of product management. And it is a sensitive and critical issue in most organizations. In many cases, pricing approval is actually done by the CEO or Executive Management. In the pricing exercise, there are multiple stakeholders and everyone wants the “best price”. However, the definition of best price is different for all. Sales wants the upfront price lower than competitors, finance wants to look at the cost/price variance and the best ROI possible and marketing wants to dictate the price. So it is the product manager’s role to build a valid structure for pricing the product/service or the deal and then come up with a logical product price (which could actually be higher than the competition’s price) for different situations.

This book explains pricing very well, and you should definitely keep a copy on your desk as a reference. It is as useful for pricing SAAS products as it is for pricing consumer or enterprise packaged products.

Note: In case you have a traditional software engineering->product management career path, you may want to pick up a few courses on corporate finance and management accounting. They will help you a lot if you are ever involved in pricing decisions. A part time MBA could also be useful.

7 Tips for Fresh MBAs working as Offshore Product Managers

[Caution: long post]

Today, most business schools prefer candidates with some work experience, which is also useful during lateral placements. Hence you see an increasing number of candidates with exposure to IT services or software engineering joining these schools and completing their MBA. Post-MBA, it is inevitable that some of them will head towards product management during campus placements or shortly afterwards. This post is about the 7 things to focus on in your first year on the job, apart from working on PRDs or MRDs.

1. Build a rapport with program managers

In most offshore R&D centers, program managers play a key role in organizing projects, resources and schedules. Hence they know the resource costs and availability for any ongoing or upcoming project. And since engineering dominates decision-making in ODCs (offshore development centers), the program managers help to balance the engineering dominance.

2. Get customer exposure on a sales call

An enterprise sale is a complex process, involving dozens of people from different departments, and it typically has a long completion cycle. You must gain a first hand exposure to how this works, as this is the main source of revenue for the firm and for your product line. However, it can be difficult to gain a sales person’s attention, as he is always looking outwards for opportunities. As an incentive to sales folks to get them to talk to you, arrange a product demo or a feature presentation. If the demo is interesting enough, they will make sure that you get in front of the customer.

3. Gain the trust of engineering and service delivery managers

I have written previously about key stakeholders for offshore product managers. If you cannot get these people to trust you, you will never be able to drive product decisions, even with your supervisor’s help. And you cannot keep going to him all the time. One good technique to gain the engineering trust is the show them that you can deliver on the product requirements and are not simply there because of your MBA. Essentially, you need to prove yourself with every engineering resource, right from the VP to the intern.

4. Train yourself

If you are just coming out of b-school, with a few years of pre-MBA IT experience, you have NO relevant skills whatsoever. The people in the ODC do not care that you can prepare kick-ass powerpoint. Neither are they interested in the font, color or direction of arrows in you block diagram. You must focus on gaining survival skills, which today include, UI design using HTML, CSS and Javascript, UML and MS Visio usage, basic analytics, and programming skills in at least C++, Java or PHP. There is a lot more to gaining skills in multiple dimensions, and I will cover this in a future post.

Do not bother to go for a formal product management training yet. Without relevant experience, it will have very little value and you will forget most of it very soon.

5. Prepare for a change to your role/product within 12 months

In today’s connected, global economy, it is almost guaranteed that your first role will last no more than 12 months. The change could be due to external forces or internal restructuring (ODCs are very prone to this), but it will definitely happen. In the worst case, you might feel stagnating in your role, and you will yourself ask for or start looking out for a change. The best way to survive this is to shine in front of senior management, build a rapport with the US teams and network with HR and other support staff.

6. Connect with Solution Sales, Analytics, Customer Service Teams

This is probably the most important task that you can perform outside of self-training. To understand how the product is built, you need to sit with engineering teams. To understand how the product is sold, you need to work with sales teams. And if you really want to understand how the product is used, you need to work with solution sales, analytics and operations and customer service teams, who cover all real use cases that the product was designed for. And remember, you need to proactively seek them out and learn from them. As a fresher, it is expected that you will be learning all the time.

7. Network outside the firm

There are a lot of opportunities for networking in Bangalore, Hyderabad and all the other major tech. centers in India. You must go to these get-togethers (a few of them are listed in the resources section of the blog). It can be a lonely job, working as a product manager, with no outbound teams near you. Connecting with other people in similar situations is a good way to understand the challenges of an offshore product management role, and the different ways in which people are coping.

Summing Up

A product management role, even offshore, can be incredibly rewarding, but only if you take care of your first few years on the job. It is not for everyone, and you should make sure that you are still interested in it at the end of your first year. Else, as an MBA, it will be easy to find something else.

Book Review: High-Tech High-Touch Customer Service

Hightech HightouchHigh-Tech, High-Touch Customer Service is a book by Micah Solomon, a writer and business strategist. He is well-known in the field of customer service, particularly on B2C customer service. However, the book is about customer service in general and is of some relevance to people in the B2B world too. If you are the product manager of a consumer facing product, or are looking to understand how customer service impacts your product sales, its lifecycle or its quality, you should read this book. Additionally, you could also recommend your HR team to buy this book for the customer service team in your organization.

About the Book

The book is divided into 3 parts, part 1 covers Timeliness and Timelessness in customer service, with several examples. Part 2 is called High-Tech, High-Touch Anticipatory Customer Service and it talks about your company culture, its customer service, the importance of autonomy in the service team and the ability to anticipate customer needs and it has several examples on these themes. Part 3 talks about customer self-service, social media and the principles to assimilate with these new paradigms.

There are 13 chapters in the book, and you can read through it in a couple of days, or browse through it a few chapters at a time. It also has examples of customer service within many organizations, such as Zappos, SouthWest Airlines and Apple.

For Product Managers

Fundamentally, there is no ground breaking insight in the book, but there are a lot of common sense principles discussed here, which we occasionally lose sight of, in the rush to design the product and get it out of the door. Today, a significant part of enterprise product management activities is about defining incremental releases and tracking the existing deployments and the client satisfaction with the product. This is actually as important as defining features and benefits for the new release, to sell to new clients and accounts.

Additionally, in the B2B world, a very important metric for retaining and growing accounts is CSAT or Customer Satisfaction. This is usually a numeric value, which determines the success of failure of your product in a vertical, geography or customer segment. To ensure customer satisfaction purely from brilliant features of a product is a really tough ask, and so customer support also has a very important role to play in improving and maintaining CSAT.

Of course, as a consumer market product manager, you must remain on top of all customer issues surfacing after the product release. And CSAT is also measured reliably if you are closely tracking the social media outlets.

This book gives several ideas for bringing together the strategy to retain existing users and gain more users. It would be a great exercise for any product manager to identify how they can integrate these ideas into product features and follow through with customer support trainings for the same.

Note: In case you manage a high technology product, I strongly recommend that you spend time with your customer service team. Understanding the product deployments and troubleshooting problem scenarios is a great exercise to gain insights into product usage.

“Are You Really A Product Manager?”

Background

Over the years, I have faced many product management interviews with all sorts of firms. A few of these have been with entrepreneurs in India who have launched multiple businesses and have been the CEO of their own firm for more than 10 years. In my experience they are some of the shrewdest people I have interviewed with, and they have a really good grasp of what skills and talent they need in a candidate.

The Incident

This happened during a discussion with a CEO in 2012, who runs an enterprise software firm with clients in the US, EU and APAC regions. The job advertised was for an enterprise software product manager.

As is usual, the interview start with the standard “tell me about yourself”. I gave a summary of my career so far, with details about my work in different roles and the related tasks and initiatives. During my description, I could see him adopting a quizzical look. So once I finished my narrative, I waited for him to take the lead and ask some questions about my background. I was taken aback when he said (paraphrasing here), “the work you have done sounds wonderful, but are you really a product manager?”

headscratcherI was flummoxed, and did not understand why he asked this. I have worked in product management with 2 large enterprise software firms, and that is the relevant part of my work life which I had described to him in the past few minutes. I asked him to explain what he meant, and he said that while the work of building products is important, what is also important is the amount of time spent with sales, pre-sales, account management, clients, prospects, marketing and all outward facing teams. And this is what I had glossed over (according to him).

Now the reason I did that is because the role advertised was for an inbound product manager, and there is little to connect what he wanted to hear and what I was to be hired for. I explained to him that I have done every product management task in my earlier roles (including the rarity in India, product pricing) and since he has a vacancy in an inbound role, that is what I spoke about.

He clarified that hee was really not interested in what I had to contribute on product design and engineering, and his main concern was “Can you manage the pricing, packaging and promotion of the product successfully?”. He wanted someone who could work with anyone in his organization, to get the product “out of the door”. In his mind, those are the traditional success metrics in any product management role. And that is what he wanted to hear about. Needless to say, I did not see a way to bridge this expectation gap, and did not get the job.

Traditionally, this is how senior management uses product managers, especially for enterprise products, and if you only have offshore product management experience you will probably never fit into one of these India headquartered organizations. So unless you have exposure to outbound activities as well, you will remain a one-dimensional product manager, with little possibility of getting a job in an India based startup. This career shift is important, as it is the a surefire way to get a leadership role in the technology industry.

So think about your own career, and ask yourself, “Are you really a product manager?“.