Well, your company has already accomplished its ideal buyer persona by exploring everything – as it might seem – needs, preferences, and pains of your client base. Also, you, probably, think that it’s a high time to mark this task as done and enjoy prosperous cooperation.
Sorry to say, but you are wrong. Software product outsourcing is a delicate process, which not always works out the way you want it to. You may start estimating the project, conducting industry analysis, but eventually still get a continual silence on the other end of the line.
So, how to detect a reliable customer among all those wanting to crash in on you? We’ve created a checklist to follow up with.
Requirements and Efforts
Success is a very controversial thing, given its comprehensive nature. A successful product is ambiguous, as well. That’s why before onboarding any project, you should compare all the requirements with real possibilities. It concerns not only viability and acceptance but also investments that a customer is going to spend on it.
Creating an eBay-like website spending 100$ and gaining as much revenue two days after the release – sounds a bit unreal, right? Time estimates are essential. Of course, it’s possible to create a product 1 hour after the offer is signed – but who will take care of the quality and UX? Well, if they want their website to look like this…
Things seem too bad now? Don’t worry, nothing terrible will happen if you find the right solution together with a customer. Actually, a well-structured team can tackle all misunderstandings. Presence of at least one Project Manager and Business Analyst in any project is a must at Redwerk. We’re doing this to prevent any issues connected with specs and a workflow itself. Sometimes our customers can describe their requirements adequately but they lack technical background – and here’s where our specialists come to help.
Help your customers to understand the adequate limits and provide them with as much information as you have in this or that field. But don’t step into something that’s beyond your understanding or common sense.
Specification and expectations
The first question that may appear in your head is ‘What you mean by spec?’. Well, a specification, that is a set of certain requirements and characteristics that a customer needs in the end product. In a perfect world, all of them are written and discussed with a vendor to the smallest details. But do we have to state that it happens as rarely as you get your letters from Hogwarts?
When a customer starts thinking of a product he doesn’t always have a complete image in his mind. He wants something tremendous and vitally important for every single living being in this world. Apparently, it has to be fulfilled with numerous features as fingerprint detector, MP3 player, and an oven for chocolate chip cookies. It looks pretty nice on a paper, but when studied in details, you start thinking, that unicorns have more chances to be real than this product does. That’s a typical situation in IT, though. Project description will influence your plan and, of course, will serve as a basis for further collaboration.
If you do not want to turn your workflow into the endless guessing game – ask for detailed descriptions. Your team will have to figure out why this or that feature is necessary. It will take additional manhours logged yet less time for a development itself. Don’t be afraid to ask – continue asking until you completely understand what customers want indeed.
Product vision and discoveries
Detailed requirements worth their weight in gold. They help you to avoid further misunderstandings, allow to plan and estimate better and save lots of time (and money) on discussing and re-discussing further steps. Customer’s vision of a project may critically differ from a developer’s one. Hence it’s better to check whether a customer is thinking one step ahead and wants transparency and a qualified development delivery, as well.
Technical writing isn’t a thing one can do in a few hours, because it defines the overall project scope. Obviously, it will take a certain amount of your time and will require some efforts to be made, but who said the development is an easy thing to perform?
Writing specs is an essential part of this process and your customers have to understand its importance. If they reject this option, all you need to explain is that the result of the work done partially depends on all these documents. Briefly, no written specs – no shaped results.
Responsibility and communication
It works both ways. Answering all emails and calls, communicating directly with the team and putting comments and edits on time – that’s a dream of each outsourcing company. Working on a project means dividing responsibility, and each customer feedback brings changes into the workflow and makes it move further and on.
Software development lifecycle needs stability and if you spend several days trying to reach out to your client, that’s merely a waste of time. However, don’t forget to state duties in the agreement – it will help you on each step of development. You, probably, have already heard about SLA (Service Legal Agreement). It can be quite useful in cooperations of any kind. You simply describe a correlation between your estimates and the quality of a product itself.
Regulations make sense and if you write them down in details. There will be no place for misunderstandings if you have at least basic rules & limits and follow them.
To be honest, the main thing is whether they are going to test at all. This part of development is significant as hell; however, not all customers understand the necessity of providing quality assurance.
There are no limits to perfection as well as there are no projects without bugs. If you haven’t found any in your app, try better. Detecting all bugs requires time and a deep knowledge of a product itself. That’s why it’s a good idea to give the responsibility of testing to that very team that wrote the code and knows where to look for flaws. Having an unbiased point of view on the same issue also works well.
So, try your best to persuade a client to go for it. Quality Assurance will save both you and your clients nerves and help to avoid negative feedback and lack of user acceptance. Besides, some findings may turn into useful features, not bugs.
Repositories and issue trackers
The first thing you need to do is to ask whether your customers are acquainted with such definitions. Repositories and issue trackers are vitally important so, make sure that they will work their best for both sides. Learn your customer’s infra if they provide you with it. But never try to start working without it. On the client’s side, it will also bring stability and give an opportunity to check all manhours logged and resources spent.
Even the simplest tracker can be of a great use during the whole development process and can help to solve issues appearing during the work itself. Consider this critical thing as a must and insist on its use from the agreement signing phase.
Funds and Payments
No, we’re not going to tell you about platforms as PayPal or prepayment. Just imagine: millions of people still believe that a project can be done in exchange for its future success or funds. And these people are continually bombarding outsourcing agencies with their “brilliant” offers.
Actually, we have a nice quote for such “inventors”.”Ideas are shit, execution is the game” – said by Gary Vaynerchuk. This quote has already become the corporate motto to Redwerkers. It’s harsh, but works for both startups and small businesses, that want to cooperate with outsource vendors. It’s obvious to expect for a win-win and all the work has to be paid according to the agreement signed. If the service offered is performed professionally and on time, the payment from the client isn’t expected to be delayed. It’s clear and understandable for customers that respect your values and the time you spent developing their product.
Any offshore company does its best to lead projects to prosperity, but their benefits after the release (including financial ones) belong to the project owners. However, there are those that will be bargaining until they drop.
In the perfect world, every client knows it’s limits and understands how much money and effort they willing to spend. But since the reality is not that perfect, budgeting issues happen from time to time.
The best strategy here is to offer your customers a preliminary estimates on how much their project would cost. It’s your buyer beware for the lack of money or bargaining for a discount in the future. If a customer promises you years and years of 10 people team full load, clarify the expencenses, or you may end up working with this project until the first invoice, and then spend months trying to get the payment.
In the meantime, don’t be afraid to take cheap projects into account. Accomplishing even the smallest task successfully you receive a chance to get a more significant offer and establish long-term cooperation. History knows a ton of examples, like the one with Brad Parscale who created a website (with the total cost of $1500) and then became the digital media director for Donald Trump’s 2016 presidential campaign. He’s now serving as the campaign manager for Trump’s 2020 reelection campaign. Here, at Redwerk, we have also faced with such experience several times, where a simple code review turned into prosperous projects.
Provide realistic estimates, sign a contract and, as we said numerous times through this article, be honest with your client if something goes not as planned.
On the vendor’s side, you need to make sure that your client knows about all the updates and changes inside the project (issue trackers we mentioned before would help). Try to hold weekly meetings and inform customers about the workflow. It’s also efficient to be sincere concerning your expertise and level of knowledge of the field you create a product for. Don’t be afraid to ask for help to understand all things correctly. Mutual work is a must if you both want to achieve results.
On the client’s side, all the expectations have to be explained beforehand, the same goes with changes. If speaking about outsourcing, here communication is a constant thing, and it’s better to be in written form. Emails, meeting notes and all kinds of reports will make your cooperation much easier and more structured. There’s also a need in sharing the project status, especially in the case of startups, where only owners are acquainted with the product’s lifecycle.
The thing you need to understand is that transparency is a basis of any healthy business relationships. The second fact is that it has to be mutual. Being transparent during the whole workflow is vital because it helps to keep the project alive.
Partnership and Mutual Respect
It’s not a good sign if your client has changed 10 vendors before coming to you. It’s even worse if he speaks ill about all of them. It usually means that the main issue is the customer’s attitude to the team. Be aware of such people and always ask for former vendors’ feedback if you hesitate about their level of responsibility. By the way, it’s always possible to check local or worldwide blacklists of customers you should never outsource for.
Strong partnership in its turn has absolutely magical influence on your business. If your customer is happy, its your long-term asset to the future accomplishments and this is the thing all agencies are striving for.
Unfortunately, there are clients that consider you vendors only. And their behavior is relative to their attitude. They are rude to your employees and you have to tackle such complaints daily. They do not respect your schedule and can interfere in your personal life. There’s nothing adequate to happen – as a result, you lose сontrol, and waste your time to establish the workflow that has already been broken.
Think twice before onboarding people that do not consider you to be partners and put your needs behind.
There’s only a small scope to pay attention to. You may add some points considering your company specifications and requirements. But using even this very checklist will help you to benefit and choose the customers that are really comfortable to work with. Good luck!
Redwerk is a software development agency that is always ready to create amazing products from scratch. Since 2005 we have been gaining experience in numerous industries, providing assistance with eGovernment, Media & Entertainment, eCommerce application development, game development outsourcing, etc. Besides, our ERP developers will offer the best business automation solutions for you, creating the most powerful workflow management tools for this purpose.
We’ve been a part of different projects all over the world while cooperating with startups, small and medium businesses, and even governmental institutions. If you want your product to enter market successfully or simply drive your business to success, Redwerk team is exactly what you need.