Image is taken from this presentation by @dnlhtz
- Use Impact Mapping technique. This technique is used to determine "your" users and identify their business tasks. Most startups fail because they solve the problems of fictitious users. Just imagine Ann, she is an office worker, she has a lot of routine paperwork and she is constantly distracted by phone calls. What is important for her? For example, we make a meal delivery service and she extremely needs pre-order functionality and a reminder that there is a need to order food for dinner.
- Interact with the team. Many teams have moved to the process of rapid software development, which in itself is good, but creates an additional burden on you as a customer. According to the Agile methodology, you need a Product Owner - a role that is responsible for defining the functionality of the product itself and prioritizing the features. Here we purposely name it as a role. A role is not a person, so the responsibilities of this role can and should be divided. Here's a great video on the Web https://www.youtube.com/watch?v=502ILHjX9EE, which perfectly describes the role of Product Owner. Watched? Now consult the project manager and decide how you can divide this role.
- There is no magic, nothing is free. You choose the team and the offers vary in price in dozens of times? Quite a typical situation. There are a lot of teams from India who are ready to develop Facebook clone for $1000. But do you understand that behind it there is zero quality, a huge number of defects and inefficient management? Choose a team in the mid- and high-cost range (and it still will be 3-4 times cheaper than hiring local developers), look at the portfolio, select the best ones and interview them. They should ask questions about your business, about your problems, about your strategies, not about the budget, timing and a clearly defined list of features.
- Share the vision and know-how. Do not be afraid to show your cards. An outsourcing company will not steal the idea from you, because this is not its area of interest, but understanding the key concepts of your business and how you will earn money will greatly help in building a successful product.
What you have / do not have to do before you start outsourcing software development
You have to:
- *Understand the concept of your product. Identify users, purpose, monetization methods. The following tools can help you: Impact Mapping, Canva Business Modeling, Customer Interviews, A/B testing with Landing Pages.
- Create mockups and some designs. It is necessary to draw the basic mockups and think about the Customer Journey Map. The design of the pages in the form, in which your users will see it, is not critical, this can also be outsourced. At this stage it is important to understand how your users will "navigate" the product and what features they will use.
- Determine the schedule and budget. And do not forget to tell your contractor about this :)
- Determine the amount of time you are ready to spend on communication with the team.
You do not have to:
- Hire a technical writer or business analyst who will write a 100-page document using clearly verified words.
- Expect that outsourcing team is something that will just receive the task and produce perfect result in 6 months. Your attention is going to be required in order to produce exactly what you need.
What to expect when the team is selected
Congrats! You have chosen the team (of course we hope it is Gearheart) and are ready to start.
Here is what awaits you when starting outsourcing:
Kick-off phase with project and sales manager, technical expert.
- It is necessary to discuss the main artifacts of the project, which you already have (at least you have used something mentioned above, right?), draw up a plan for finalizing what is missing. It is necessary to have at least some version of the artifact called a Vision with a description of the project's purpose, users, the main tasks to be solved and monetization threads.
- Discuss the design, who is responsible for it and the mechanism for making / approving changes. Interaction with designers should be customized from the very beginning, and then the design versions will multiply and cause confusion for the whole team. Design is a critical part of the application. The user is extremely picky nowadays and any ingenious functionality may not even be tested because of incorrectly selected colors.
- Discuss the division of the Product Owner responsibilities. You have probably lost the link, but here it is again.
- Discuss the process of development and intermediate results delivery. Yes, we create MVP, but nobody cancels the intermediate deliveries, they will help you to follow up project progress.
As a result of project initiation phase, you must have a Project Road map.
Plan that in the beginning you need to be involved into the project as much as possible. All other business processes associated with the successful product launch can be postponed. But design and planning is something that is important to do well and on the first try. At this stage changes are the cheapest. Everything that will not be taken into account now, will be developed, then tested, then deployed, and then go to users. And the price of correcting the error will increase at each stage.
We are maximally involved into the process and try to minimize such situations, but without your expert knowledge, we are unlikely to build an innovative product. We would like to end the article with the words of Peter Thiel:
Tolstoy opens Anna Karenina by observing: “All happy families are alike; each unhappy family is unhappy in its own way.” Business is the opposite. All happy companies are different: each one earns a monopoly by solving a unique problem. All failed companies are the same: they failed to escape competition.”
We believe that we will help your company become a monopoly by Thiel!