Signing a software development agreement is an ultimate step before getting on a project with a software development company. But before you are ready to put your signature on any contract, you need to go through the negotiations – which may lead through a long and risky path. Here is what to focus on to make it smooth, effective and, most importantly, secure for your project.
Decide who should be involved in negotiations
If you are the founder of a company, it’s quite understandable you wish to verify another agreement that’s coming right at you. Probably, you had already drafted hundreds of them, but when it comes to drafting software development documentation, it will be best for you to have at least some helping hand in the form of a Project Manager or a CTO. Obviously, the business part is on you, but then you need to pass on all the technicalities to a more competent entourage of yours. My experience shows that when a non-technical person tries to get involved into the tech part, or just the number of people engaged in the document verification is too broad, the process of signing the agreement is getting longer.
Let’s focus on choosing the right people to get the deal done, without unnecessary overheads. And just one more thing – for the smoothness of communication, make sure there will be a dedicated person acting as a voice of the company, simultaneously being a project coordinator. This will, again, help you to save a tonne of time by avoiding unnecessary miscommunication during document drafting and stating who should be accountable for what part of the document.
Focus on project calculation
Financials are the very root cause of this article, but somehow quite often marginalized just to the value of a “per hour” deal. The agreement, regardless of its type (Time & Material, Fixed Price) is not limited to the workable hour price per developer only, since there are many other costs that you will have to cover anyway. The question is whether you will pay for them consciously.
In fact, the right question is not “How much will it cost to work with a mid or a senior” but whether this budget is spent well or not. The team you’re working with should be able to decide themselves if the particular task requires a senior developer to be involved or can be done by a mid or a junior, and appoint them adjustingly, basing on the monthly budget.
This obviously cannot be done without at least a bit of trust from both sides. That’s why it’s so important to get engaged in full understanding of the project and the company you plan to work with. Very often, you will be able to define the commitment and quality level after first few weeks of work. If, however, your project requires some more substantive approach and technical remarks before proper development, every self-respecting software agency will insist on conducting workshops first, what will eventually define the project scope, and make you aware of work culture.
Some software development agencies calculate the project cost based on the development hourly rate, with clearly pronounced additional costs per prospective UI/UX (if needed) or PM expressed as a percentage and financial amount. The same applies to the end-to-end testing, and bugfixing after deployment and release. However, since this is not the standard way of proceeding, you should brace yourself for either finding these costs somewhere else or asking your soon-to-be service provider to divide the main hourly rate into separate services. Eventually, such an approach might help you in further negotiation of particular business elements such as UI/UX, since you might have this part covered by someone else.
If you plan to establish long-term cooperation that will last years, it could also be important to verify the annual prices adjustment contractual obligation – you have to be aware that many companies place such information onto the agreement, and if you feel like this might be a game changer somehow – try to move such increase for some further time.
Mind the timing
Very often this factor turned out to be as crucial as pricing, what at first glance might seem to be a statement with much of an exaggeration. But why? You do want to have your app as soon as possible, and your provider obviously wants the same, right? Well, au contraire, my dear Watson.
First of all, are you sure of the project start term and its needs for fluent workflow? Think about the team on your side needed to be involved in this particular task – are they ready to start off straight away? Or maybe you are still during the process of hiring the team necessary for this task? What if your provider is ready but you still need a few days for a makeup?
Some companies could already charge you for the project downtime from day one (it’s in the agreement!), and I’m quite sure you don’t want to get indigestion at the very start, do you?
And what about the investors? Burn rate keeps you tight, and you are not sure you will get the next round on time? Emphasize it clearly.
Also, software development agencies might have something to tell you about before signing the agreement. Since you’d like to start off like “now”, they might not be able to align their project development calendar for you instantly. Whether they need a few days / weeks to close some projects, or just get you the right team for your needs, you should know this takes a while. Usually, there is so much going on the market, you should presume such things like starting the project TODAY won’t happen. Even when the provider has such a team, it still takes a few days for organizational purposes anyway.
To summarize what we have so far, keep in mind the terms needed to be included in the agreement. If you are not sure about the exact timing and financing, articulate it as clear as possible during your talks before signing the agreement, so you could come to a mutual understanding without any unpleasant surprises during the process.
Review each version of the agreement using the “tracking changes” option in your text editor
There’s been at least a hundred of cases I heard someone missed some small wording added in the last moment of this warlike negotiation turmoil. Now, some of these cases turned out to be just a peanut, but some of them cost few people an arm and a leg.
Tracking changes is as easy as it can be, and doesn’t engage you more than it should. Even when verifying one pager – it still costs you nothing, but sometimes even one punctuation mark could change the course of further actions. Most Software Development Agencies are as transparent as possible but keep it in mind that there might always be this one sneaky company trying to play this on their side. The aforementioned tracking changes option is available for every Microsoft Word user, and it’s not like I am trying to sell you their software – I just hope you already use it instead of any open source solution. Since you are a respectable person having in mind to sign quite a complex contract, I hope you can afford the most popular and available software on Earth 🙂 If not, prepare that one day you will have to hire a legal team instead…
Don’t get distracted with matters of low importance
Sure, every single line of text matters, yet on some of them you should put an extra emphasis and preparation. Create a list of the subjects that are most important for your company, and make sure they will be included in a fair manner in the agreement. Remember to verify the documents every time the agreement comes back to you as a subsequent document version.
Just don’t try to handle all the aspects of the software development agreement by yourself. Try to be focused on the part that is closest to your competences. Once you do it, you will see you’ll be able to talk about the parts of the agreement that might have the biggest impact on your business. And when you are there, you will see that negotiating could still be fun, even though you work among Developers now 🙂