DEV Community

Cover image for You ask business people questions but you do it without respect
Roman Sedykh
Roman Sedykh

Posted on • Originally published at Medium

You ask business people questions but you do it without respect

Ok, the more accurate title would be "How to communicate with business people about their projects if you're a freelance developer", but I couldn't resist. :-)

When you start a freelance developer career, the first big project is a game changer. Big projects bring more money and, inevitably, more problems. How not to frack up by having a miscommunication?

It takes years to see things for what they are. Until then you'll have troubles with understanding clients' needs, underestimate tasks, and miss deadlines, trust, and money. It's part of the process, but you can accelerate learning by communicating your understanding of incoming projects better.

I compiled a checklist backed with my experience of evaluating more than a hundred web and mobile projects (from a week-long to five years in development).


Step 1, preparation.

Should you even consider taking the project? Will the client agree on your terms? For that, you should answer these questions:

  1. Can I do it?
  2. How much time do I need?
  3. How much must I charge to be able to complete the project if something goes wrong (it always does)?

At this step, you probably can't spend much time gathering info, but you definitely can have a call with a potential client. What should you do?

Before a call, prepare: read all docs (if they exist), learn about a few similar projects.

Then, follow the algorithm:

  1. Ask about the project's goal.
  2. Ask about edge cases, question why the client sees thing this way, what are the reasons.
  3. Ask any questions you have left from reading original docs.
  4. Tell the client your vision of a project, carefully listen to their response.
  5. Try to find underlying potential problems with tech/design/business.
  6. Update your project vision, agree on it with the client. That will be the project you will evaluate.
  7. Discuss which major parts of website/app/service you should thoroughly estimate first, leaving everything else behind for a while. (Always start with a key part of the project).

After you finished a call, immediately write everything down. Then, if you can wait till the next day — just wait, let things settle down. You'll have a more unobstructed view, and a client might send you some additional info.

Still, want to land this deal?

Step 2, evaluation.

Write a response with your estimates following this template:

  1. Write the project description.
  2. Write the project goals.
  3. Write about why you like it.
  4. Write about project features. Mention underlying potential problems.
  5. Create a mind map with the project's structure that an average person can understand.
  6. If you have enough time, work on basic user stories (see this cheatsheet).
  7. Write how you think you will build it, what are the major milestones, what’s your release strategy.
  8. Write about resources you will need to accomplish a task.
  9. Write time/budget estimate, based on tasks and/or resources. Don’t oversimplify things, but don't go pessimistic either.

A density of this response depends on how much you like/need the project.

If it's possible, always present your response on a video call or in person.


A few iterations later, you landed yourself a big project that you and your client are confident in and which can become a big step for your professional skills and career.

Top comments (6)

Collapse
 
highcenburg profile image
Vicente G. Reyes

I agree with this.

Coming from a sales background. I was always scolded by my boss on how I spoke to people, especially business owners or multi-millionaires. His point always boils down to giving them all details as possible so they could visualize what we were selling.

It also may seem to us(freelance devs) that a question is not important to ask but will be important to your client which may be a decision maker to get the deal.

Collapse
 
rsedykh profile image
Roman Sedykh

So true. The most important thing is to help clients visualize every aspect of a project that you'll have to deal with. This will make them appreciate what you'll do for them and make them willing to pay generously for your work.

Collapse
 
aminmansuri profile image
hidden_dude

Clients often will go with you if they are comfortable and understand what it will be like working with you. So the more you can help them visualize working with you, the more they will feel confident in hiring you.

Collapse
 
shreyasht profile image
Shreyash

This is super helpful! Although it tells what we already have somewhere in the back of our minds. But, it is a good reminder.

Collapse
 
rsedykh profile image
Roman Sedykh

Over the years I found out that I following the same algorithm over and over again, and decided to put it on paper. So yeah, it's always somewhere in the back of our minds.

Collapse
 
sur0g profile image
sur0g • Edited

Like for the title >_<
EDIT
Great stuff! I'll definitely use it in my freelance projects