Dear Clients, please work on your projects too

Povilas Korop
Successful IT projects
4 min readJul 31, 2016

The biggest problem in IT projects is that they are not completed on time or within budget. And quite often the blame is on vendors — development agencies or freelancers. But actually the clients have a huge influence on the success of their project. Even if they are not technical at all. Let me explain.

1. Preparation of requirements

As a client, you know what you need from business point of view. Developers don’t — they usually provide only technical solution. That’s why you need to spend as much time as possible on preparing a proper document of requirements for the project.

And I don’t mean technical specification or 20-page list of functions. What I have in mind is project descriptions like this one:

We are looking for someone to help building a website similar to XXXXXXX. If you can you design that, please let us know how long is it going to take you and how much will it cost?

So you need to prepare a proper brief. That brief-document I mean should contain:
- Project type (social network, mobile app etc.),
- Brief description (in your own words — a few paragraphs)
- Technology stack, if you know for sure (which languages/frameworks to use)
- Your goal for the project (what do you consider success from business point of view)
- Deadline (possibly with milestone dates)
- Budget (if you have one decided)

After the initial brief like this — you should have a few proper discussions with your developer(s) and they should raise questions for the final plan of actions.

Usually, in my experience, the best process is to have 2 conversations: initially, developer will ask questions, you give answers, and then they re-evaluate the project considering those answers, and then — another round of Q&A.

After all of that the result should be a document with a plan of action — preferably with milestone dates, although those estimates might be a little off. That’s ok.

The goal here is to spend enough time on planning to save as much time in the future.

2. Always be in touch

Quite often freelancers are blamed for not communicating — they disappear without answering phone or email, and then deliver on the last day. Of course, that leads to failure. But in fact, the same thing is happening from the client side quite as often!

If you think you can give the work and then go on vacation for a month, and then get back and expect 100% result, you’re optimistic. I compare IT projects to building a house — you have to constantly check the progress. Sometimes for the sake of just answering the questions, sometimes even to ensure that the work is in progress at all.

Now, there’s another side of the story — some clients ask “How’s it going” every other day and bombard developers with new ideas. That’s also wrong. Don’t micro-manage, you hired professionals, let them do their job.

What I actually mean here is you have to agree upfront what would be the timeline/means of communication — typically, I suggest once a week for the project update and additionally once a week for questions and answers.

In additional to that, you should use some kind of project/task management software like Trello / Asana / Basecamp / JIRA, and there should be constant updates there.

3. Launch and test as early as possible

Project scope tends to change. That’s ok. What helps to avoid it or at least manage it — is to have visual milestone results for an MVP launch as early as possible. Then client sees how the project actually works — even in the minimum version — and then suggests some changes. And the earlier those changes appear, the easier it will be to manage that scope creep.

Quite often client is involved in testing process too late — developers just act like “There you go, we did it”, and then shitstorm usually happens.

Same goes for the launch moment — you need to go live as early as you can, but do that silently, just avoid launching marketing campaigns or tweet the good news for a day or two, use that time for polishing things.

4. Prepare all the necessary information for launch

Developers can use their own environments for the coding process, but when you need to go live — some information is needed from you. It depends on the project type, for web-projects the list looks like this:
- Hosting and domain (ask your developer what are the requirements)
- Credentials for all external services (email like Mailgun, SMS like Twilio, payment gateway like Stripe etc.)
- Texts for the page (About us, Legal Terms etc.)

In general, for that full list you should ask your developer, and as early as possible — you don’t want surprises that stop you from launching.

5. Be friendly

Final point — don’t look at the relationships as “client — vendor”. Remember — if you are serious about the project and you’re here for a long game, you will need IT support, not only the project itself. And in general, your developer is your business partner, so treat them as such.

Of course, some conflicts are unavoidable. And that’s ok. But the more you have an attitude of helpful partnership to achieve common results, the better results you will have.

So, dear client, as you can see — you have some work to do, too. Agreed?

--

--