Product Engineering

Product Development Outsourcing

Product development Outsourcing is a critical decision for any organization when made. The common goal for outsourcing the development is Quality product and Cost saving. This involves many factors :

1. Cost Saving on Hiring :  Need not interview a lot of them, and then build a productive team as a whole.

2. Wide Range of Technologies: You get access to there employees, options of choosing the right tool and also to experience knowledge as equivalent to that of developers.

3. Scalability: Along with the product roadmap team size would be scalable with the skills required, and when outsourcing is done the risk is transferred to the contractor to maintain the engineering team and product owner concentrate on the core business idea, sales channels, and users- which is very important for the business.

product development process

What to expect when you outsource product development and how to make efficient interaction process.

1. Set Minimum Viable Product: No wonder that market is changing rapidly and if Go to Market is taking a year, then it will be an out-dated one. So, at the start release a minimalistic solution, that solves the basic needs and then add functionality to it.

2. Interact with the team: In rapid software development, creates an additional burden on you as a customer. In Agile methodology, Product owner- a role is required to define the functionality of the product and prioritizing the features. The role here is not a person, responsibility of the role should be divided.

3. Quality comes with a price, nothing is free:  Many freelance developers can develop a clone of any product, but behind that many inefficient management and defects are going to exist. In the long run, the product owner ends up with scalability issue. Choosing the right set of the team with little extra cost goes profitable in the long run.

4. Share the vision and know-how: Share your whole business idea, an outsourcing company will not steal the idea from you but understands the key concepts of business, your problems, strategies, budget, timing, and features. Understanding the business is a very important factor for the outsourcing development team to build a quality Product for you.

What is required/ not required before you start outsourcing software development

Required:

1. Sound understanding of product concept: Identity purpose, users and monetization methods. Tools that can help: Impact Mapping, Canva Business Modeling, Customer Interviews, A/B testing with Landing Pages.

2. Create some designs and mockups: Basic mockup or sketches and the customer road map is important. The neat design should be maintained as in this stage to understand how your users will “navigate” the product and features they will use.

3. Fix the budget and schedule: Share this with your contractor, and determine the amount of time to communicate with the team. Phase wise demo for progress to monitor the development of the product.

Not Required:

The hiring of the technical writer or business analyst.

What to be known when a team is selected

Kick-off phase with a technical expert, sales manager, and project manager

1. Discuss the main artifacts of the project, make a plan on what is missing, vision about the project’s purpose, users and threads.

2. Interaction with designers from the beginning is very important as design is the critical part of the application. Once the design prototype is signed off then the actual product development should kick off.

3. Discuss the division of the Product Owner responsibility.

4. Keep updates with product development and delivery. Phase wise demo is important to meet the timeline for Go to Market plan.

Clear Project Road map

The product roadmap is very important from day one. Phase wise product feature planning and the design part comes at the first phase.

At this phase, changes are affordable in terms of cost and time. Once development starts the price of correcting the product flow change will increase at each stage. We are almost involved in the process to avoid such situations, but without your expert knowledge,  we are unlikely to build an innovative product.

Read More
Product Engineering

How to build a Minimum Viable Product?

The main reason for any MVP is to quickly experiment in order to know about the overall direction for any product to be successful for the targeted audience. Product ideas might be awesome but when it comes finalizing the right set of features for the MVP, most of the organizations take longer time in decision making as many stakeholders are involved during this phase. This article will help you decide better on how to build a minimum viable product.

Few of the common mistakes made by the organizations/startups that we have experienced so far. Two important questions that they need to ask is when anyone planning for an MVP is :

  1. What is the purpose of the Product?
  2. How will it help for the betterment?
how to build a minimum viable product

Following approach would help a better product for your future customers.

  1. Competitor research is important

Always good to have competitor analysis, just to check if there are similar products out in the market.

And the feature uniqueness of the product alone is not enough to keep up the product in the market.

2. Spending a lot beyond the budget is bad:

Any product development has a certain cost associated as bootstrapped when we talk about Product MVP. To reduce the cost and timeline to hit the customer with the launch of the product, it is always advisable to stick with only one platform ( web/ mobile), based on the usability scenarios of the product.

Product launch as MVP gives the first-hand feedback coming from consumers, helps stakeholder to take the next set of action. MVP even helps to pitch the whole product roadmap to Investors to make the full-fledged product.

3. Phase wise planning is important !!

Prioritize the features that are part of the overall feature list in a phase-wise manner. Before building an MVP  highlight all the key features that you think are important to have.

Once you prioritize ask the following questions for yourself:

i. Which one action that you wish your user to accomplish through the product?

ii. Unique Selling Point ( USP ) of your product good to be introduced in MVP launch to avoid long term business risk.

Before we start working on MVP good to categories as “Most-important”,”Good-to-have”, and “not-important” – Ask the developers to implement accordingly, which will help in reducing the risk of MVP failure.

How Minimum MVP to be set?

“The minimum value product is a product with the minimum features that fulfill the early customers, and get feedback for future development…”
Based on the product you must be clear that you need a really good User Experience ( UX Design ) for your app consumers or a minimum design would work.

Remember “MVP is just not about building the other versions of your app or creating the newer work-flows. Implementing the basic features, without the essence of its viability is not the MVP….”

We hope you have got fair idea on how to build a minimum viable product. Thats a great first step! Lets work on “fair to have” and “must have” features now!

Read More
Product Engineering

Hybrid Mobile development – ReactNative or Ionic ?

Which framework you are going to use for your hybrid mobile application is critical and important as you must consider few aspects in advance for future scaling of the product. Here we will guide you whether you can develop your application in ReactNative or Ionic ?

React Native v/s Ionic

ReactNative and Ionic are popular mobile App development languages. Both React Native and Ionic gives various contrasting features and acts as a framework development medium. Both support Android and iOS.

Ionic : Ionic is an angular framework and powered by Google. It uses an HTML template for view and holds MVC architecture. It’s a hybrid development framework and uses web technologies to build an application. It requires PhoneGap/Cordova to access the native features and provides a good user experience.

Ionic is easy to learn. The code can be written in typescript, which helps the developers who are from Angular background. It has few cons as well :

  • The performance issue is faced when using a lot of callbacks to the native code.
  • If the native UI is preferred, then the same UI look will be across all the devices – it does not give a different “Look and Feel”.

React Native: React native is a javascript framework and developed by Facebook. It does not aim at “Write Once and Run Everywhere”, rather they want developers to use the components with its native behavior of the platform. Few components will go well for Android and may not for iOS, thus you can make use of something else for iOS as their platform-specific logic are easy. It has the following advantage:

  • The same code can be used for both Android, iOS and Windows phone.
  • They have better performance compared to that of ionic.
  • React follows stricter design patterns which help for easy maintenance of bigger projects.
  • React Native is more stable.

Test during the development phase:

Ionic: In the app development getting immediate feedback will help in the better development, with ionic we can easily preview the app in the browser and mobile. The changes that are made are instantly refreshed and can see the changes.

React Native: In react the result of changes are instantly reflected as we do it, need not recompile or rebuild every time. 

They also come up with:

Ionic: Ionic is similar to that of CSS framework like bootstrap. It has many components and styles.

React Native: As they rely on native behaviors, styling can be done according to our own creativity.

Plugins and community

React Native: There are many plugins available on NPM, there are also phoneGap/Cardova plugins which can inherit hundreds of plugins from the other community.

Which is the best?

This actually depends on various factors, based on the project, requirements and the skill set of the team. Both has its own benefits and features. However, I would recommend React Native over Ionic as it has the native rendering and the apps are very quick and responsive.

Read More