Quality of people (Technical expertise):

The quality of the people working on developing your product is the most important criteria that can have a tremendous bearing on the success of your product, because product development requires highly skilled personnel.

While looking for your OPD partner, especially in India, watch out for the academic background of the people they employ. In a country like India, where millions of people become engineers every year, the credentials of the institutions from where they graduate are important. Graduates (B.Tech's) from Indian Institute of Technology (IIT), form the cream layer. The alumni from IIT's are highly successful across the globe and have proven themselves in various fields. A team consisting of IIT graduates would be your best bet in launching world class products.

Work experience:
What kind of work exposure do the employees of the OPD partner firm have? Have they worked with software products or with software applications? Have they worked with customers from across the world? Software product development requires a much higher level of skill sets compared to software application development and it is much more technically challenging to write world class products. You can handpick the firms who have people who can claim to have developed world class products. Your OPD partner firm should have people who have been involved extensively in software product development in various roles so that it can fully take on the responsibility of building a world class product for you.

Innovative mindset:
Many a time, the requirements for product development are known only at a high level, because you are innovating all the time. Your OPD partner's team should have the capability to evolve the design of your product's features by
- interacting with customers, prospects, technical peers, etc.
- researching on new developments in the technical field as well as by being aware of what the competition is doing.
- trying out a couple of solutions by building prototypes and choosing the best solution.

Solid technical skills:
The design of the software product entails a lot of attention to the details. It is the responsibility of the technical lead of your OPD partner's firm to make use of the best practices in the industry for designing a solution. In a software application, the code and application is not distributed across multiple customers; whereas, in a product, the code is distributed to multiple customers. Scalability of the product is extremely crucial while designing the product. If that is not taken into account, it involves a lot of re-write and introduces a lot of errors. Your OPD partner firm should have technical leads that are extremely well versed and comfortable with technology. You'll know when you talk to one!

You should look for an OPD "partner" firm and not just an outsourcing firm. Your OPD partner's team should be able to provide valuable inputs and suggestions on your product along the way. They should be actively involved in improving the process of development, the quality of the product and should suggest innovations in your product. They should be passionate about your product. They should be your peers.


SDLC for product development:

The Software Development Life Cycle (SDLC) for product management is very different from the SDLC followed for application development. Many software consulting firms today are SEI CMM or ISO certified. These certifications definitely carry value but only if they are used appropriately. Very often these compliance standards are not adapted to suit the situation at hand, they are followed blindly. Following too much of these standards would kill your product.

You should choose an OPD partner who understands the difference between the process for product development and application development. The process followed by your OPD firm should be agile and adaptable to meet the challenges due the competition as well as market demand. Product firms work on multiple releases at a time and that should be factored into the SDLC followed by your OPD firm.

Configuration management for a multi release environment:

Software product development is characterized by simultaneous development for multiple releases and service packs, probably in different locations. In fact, the more mature a product is and the more customers it has, it is highly likely that different customers are on different releases. Hence, you need to maintain the code for all the releases until all your customers have been migrated from the previous releases. In such a scenario, it is extremely important to understand and implement a configuration management process that enables simultaneous development on releases without causing conflicts and maintenance nightmares. Only people who have worked with multiple products understand the intricacies of multi release management. Hence it is important that you choose an OPD partner whose people are experienced in software product development.

IP protection and security:
Protection of IP and trade secrets is undoubtedly essential for the survival of a software product firm. While choosing your OPD partner, you've to ensure that your contract covers all these aspects. You should also make sure that your OPD partner has the appropriate safeguards in its contracts with its employees. You should also ensure that your OPD partner has good networking and physical security.

Product management:

Release management experience:
In a typical product firm, work goes on simultaneously for multiple releases. There are multiple releases in a year and there could be service packs for each release. Work goes on at a feverish pace at all times of the year in a product firm. You require a product manager who has been there, done that. The product manager should be able to accommodate scope creep with minimum impact on the timelines, because scope creeps are unavoidable during product development.

Market analysis and research:
The OPD firm should have product managers who are experienced to assist you in doing market research and competitive analysis. They should have successfully executed a few major and minor releases of a good product. They should always keep the pulse of the market and give you valuable suggestions to streamline your strategy.

Hiring and keeping top talent:
It is the responsibility of the product manager to hire and retain top talent. It'll be useful to be aware of the recruiting policy and methodology of your OPD partner firm.

Customer support:

Product support:
Your OPD partner should have people with experience in supporting products that have been in the market and who understand the importance of complying to SLA's (Service Level Agreements) with customers. They should have people who've been on the hot seat.

Professional services:
Your OPD partner should be able provide training on your product. They should also be able to integrate your product into the software systems of your customers. This might require that the personnel from your OPD partner firm travel to the customer site. They should have the experience of working with customers across the globe, have good communication skills and the experience of understanding the requirements and working on enterprise applications. They should be able to represent your product when talking to customers. The people working with your customers should have good credentials. An education from a top institute like IIT (Indian Institute of Technology) will definitely boost the resume.