Outsourced Product Engineering – Onshore & Offshore
We work with clients that are actively looking to leverage the benefits of outsourcing, know the challenges that come along with outsourcing and are comfortable with the trade-offs associated with the same.
We have helped ISVs “try us out” by outsourcing various activities of their software product lifecycle.
The various models of benefiting from outsourced product development are :
- Full fledged product development – wherein we develop your product lines from soup to nuts
- Co product development – wherein we partner with your product engineering team to develop faster, across time zones.
- Modular product development – wherein we develop parts of your core product set
- Peripheral product development – wherein we only develop assistive products that support your main product line(s).
Our outsourced product engineering discipline caters to areas of research, requirements development, technical solution details, certifications, technical issue resolutions, documentation, dissemination and adoption of new skills.
The engineering process aligns the different processes in this stream to a single product development process, which in turn supports a product oriented process improvement strategy.
The Engineering process areas cover the development of any product or service in the development domain (e.g. software products, services, processes, etc.).
It caters to five process areas of work:
- Requirements Development
- Technical Solution
- Product Integration
In the Requirements Development process area, customer requirements are identified, and the needs are translated into relevant product requirements.
A high level conceptual solution is worked out from the set of requirements. This set of product requirements is further divided into requirements for different product components.
Other requirements, which define the product are determined and assigned to the product components.
This set of product component and product requirements, often referred to as non-functional requirements, consist of product’s performance, design features, quality attributes, performance requirements, verification or validation requirements, etc.
The requirements developed are shared with the Technical Solution and Product Integration teams.
The Requirements development team provides documented requirements to the Technical solution team.
The requirements are further converted into the product architecture, product component designs and product components by the Technical Architect, supported by the designer and the developer.
The Technical Architect uses different ways, like architecture & design documentation, design tools (DB and code, mock UI), prototyping and code components or structures to explain the Technical solution.
The technical data packages are developed as part of this process for product components, which can be used by the Product Integration team or by third party vendors, who help with the Integration requirements.
A few different or alternate solutions are reviewed to select the optimum design based on established criteria.
The criteria could vary based on the type of product, and therefore, there can be significant differences across products, depending on such criteria like operational environment, performance requirements, support requirements and cost or delivery schedules.
The Product Integration team is responsible for integrating the different components of the product.
The artifacts related to Requirements developed act as inputs for this process. The team verifies the different interfaces so that they are developed as planned in the Interface Requirements document.
The Product Integration area contains practices associated with generating an integration strategy, integrating the components of the product, and releasing the product to the customers.
The technical verification acts throughout the design and development in an incremental fashion, starting from product component verification and usually concluding with the verification of completely assembled products.
This process area includes preparing verification plan, performing verification, and identifying corrective actions.
The Technical Solution team relies on specific practices in the verification process to perform design verification and peer reviews during design until the final build. The appropriate verification mechanisms for the work products are determined at this stage, so that the work products meet the specified requirements.
Conducting Peer Reviews is a verification mechanism often used. Peer reviews are found to remove defects early, and provide valuable insights into the work products or work product components which are being developed.
Code reviews or unit testing can be important peer reviews at this stage.
Product interfaces verification is an important activity which is carried out prior to product integration.
Product Validation includes validation of products, selected intermediate work products, product components and processes.
The elements validated may undergo re-verification iteratively. Therefore, incremental validation of product against customers’ needs is carried out.
Issues arising out of validation are addressed during Requirements Development or Technical Solution design.
Product validation can be done on both Operational Environment or on a simulated Operational Environment. Customer coordination on the validation requirements is an important aspect of Validation.
The Engineering capability is set up to ensure core competency in technologies, develop the product platform, provide back end services and support to the project capabilities of the organization.
As a practice, the core product needs to be augmented by identifying new requirements for development, monitoring progress of such implementations and ensuring that the verification or validation mechanisms are working and up to date.
It is recommended to adopt 5 reviews at an enterprise level to ensure that the incremental growth is sustained:
- Weekly Issue Resolution Review Meeting
- Weekly Research Progress Review Meeting
- Weekly Training Review Meeting
- Monthly Library Review Meeting
- Monthly Technology Adoption Meeting
Weekly Issue Resolution Review Meeting
This meeting is held on a weekly basis with representatives from Engineering, Support, Quality and Project teams and is led by the Business Leader. The focus is on issues with the Engineering team starting from the highest priority.
The representatives from Engineering share the status on the high priority issues, with dependencies or expectations from other teams. Also, the project / support teams share their update regarding any changes in priorities, expected dates or any clarifications required from client.
A decision is taken regarding whether any issue requires escalation or top management support based on urgency and priority. The benefits of this meeting are:
- Better control on Issue Resolution
- Improvement in Issue Resolution Process
Weekly Research Progress Review Meeting
The Business Leader organizes a meeting weekly to allocate roles and track progress of the research tasks. The agenda and list of attendees is decided by Business Leader.
This meeting is usually attended by representatives from Engineering team and any other team that the Business Leader decides. Progress of research tasks, expected timelines and challenges are discussed in these meetings.
Any escalation needed is noted for further action. The action items are maintained and followed up so that there is:
- Better control on the Research process with feedback mechanism.
- Improvement in Research process
Weekly Training Review Meeting
The HR Manager conducts a Weekly Training Review Meeting to judge the progress of trainings conducted for the team relevant to new technologies, tools, or functional modules, or for newly recruited team members.
Any issue encountered, or roadblock faced during the training review is usually resolved by the HR Manager.
If any support is needed from the concerned manager, HR Manager takes that support. If there is any unresolved issue, the issue needs to be escalated to the Business Leader for a solution. The outcome of such meetings are:
- Better control on training activity
- Improvement in recruitment and training processes
Monthly Library Review Meeting
The Engineering Manager conducts a monthly meeting to identify and implement improvements related to the creation, maintenance and utilization of library of code, screen, process artifacts and other knowledge articles.
This has participation from all the departments (department heads & leads), and the Business leader. The benefits of having this meeting are:
- Better control on knowledge repository
- Improvement in knowledge management
Monthly Technology Adoption Meeting
The process of doing research, design, information sharing and adoption of new technologies is reviewed on a monthly basis.
The rate of adoption of new technology can be reviewed during these meetings. The benefits of this meeting are:
- Better control on technology adoption.
- Improvement in New Technology Adoption Process.