An outsourcing development company is usually responsible for different internal software development activities of their clients.
When customers turn to a service company for development assistance, difficulties can arise already at the first stage. The main reason is usually that people do not clearly know what they want, thereby misleading both the developers and themselves. Below, we have prepared for you a list of questions that will help you and the developers to faster and better find a common language in the early stages of interaction.
To begin with, the best thing you can do – decide specifically what you want. The following questions will help you find the right answer:
- What business-related problems do you want to solve with the help of this project? Having an answer to this question, even if there are ready-made requirements, will help the team make suggestions for improving the product.
- Do you need to create a product from scratch or modify an existing one? If you need to modify an existing project, you will need to collect all the information about it and pass it on to the developers. Including:
2.1 Access to repositories
For greater security of the information, you transmit, sign a non-disclosure agreement (NDA) https://rubyroidlabs.com/blog/2016/06/nda
2.2 Access to servers, if available
2.3 Artifacts accumulated during the existence of the project:
– Architecture Description
– Even drawings on napkins
Read more about artifacts in our article: https://rubyroidlabs.com/blog/2017/02/ba-artifacts/
- Who will use the final product?
A large part of a project, including design, usability and even technical architecture often depends on who the end user is.
- Do you need to develop designs from scratch, or do they already exist?
4.1 If you already have a well-developed design, you need to send mockups or access to it.
4.2 Perhaps you do not have a design and you do not need one (for example, you need a system for internal use and it can look modest)
4.3 If you need to develop a design, you need to know preferences, which you must disclose in the following questions.
- Do you have corporate colors to be used?
If you have a brand book or just colors that you like – let us know.
- Is there any system, possibly competitors, that you would like to give as an example?
6.1. What do you like about them?
6.2. What don’t you like about them?
- Who will be involved in the development from your side?
If someone from your side contacts the development team, they certainly need to be present, and their contacts should be with us:
- Who will update and support the site?
– Our organization
– You yourself
– Another contractor
- What budget do you have for the project development?
- Are there tight deadlines that you need to meet? What kind?
- Do you have documentation that could be useful in the development process?
- Do you want to test the project yourself, or do I want to hire a professional?
The composition of the team depends on the answer to this question. The testing process is extremely important, because sometimes in the system there may be hidden problems that will greatly affect your work, but they may not be noticed for years.
- Are there clear project requirements? What kind? Another important issue is the existence of clearly formulated requirements for the project, which will help speed up the development process several times.
In case you don’t have clear requirements it is best to hire a business analyst to write them.
Who will it be? – The main task of the business analyst is to understand what the customer needs, find ways to implement the idea, propose new solutions for project development, and then structure this knowledge into requirements and specifications for the project. This document will most effectively allow you and the developers to understand your idea and consider its implementation at various stages of development.
Having done the preparatory steps, you will have a clear vision for the future work. Of course, all these points are not mandatory and can be used only as a recommendation. In any difficult situation, an experienced company will help you deal with the problem and find the best solution for you.