A while ago I took on a freelance web programming project with a company I'm already familiar with. My boss (also the company owner) typically pairs me with one of his PM employees for each project I work on, but there was one case that made the exception.

As a freelancer I could work potentially from anywhere with only the obligation to show up on-site for the weekly client meeting, but I usually work in the office because I can concentrate better. When I told my boss that in most cases, I'd rather report to the PM because it's easier and more accessible, that's when he informed me that the client is the PM!

I can see the advantage of having no middleman for the project, but in this case the client/PM was unavailable during most of the week. I would rather wish there was a PM that I can just talk to every day face-to-face to have a better assessment of our short term progress. Plus, the company's own PMs are much more web-literate than the client so they would do a better job at communicating problems and suggestions.

So are there any cases where doubling up the client as a PM would ever be a good idea? If any of you ever faced this situation as someone working for a PM/client, how did you handle it?


I don't think there is necessarily a single, catch-all, right or wrong answer to this question. The short answer is that it just depends.

The advantage of working directly with the client is that you've eliminated a communication path, which could lead to misunderstandings. The more communication paths there are, the harder it is to manage them.

Another advantage is that you get the information directly from the source. If you have doubts, you can clarify them directly with the client.

I believe this model works better for smaller projects than larger projects, and I'm guessing that you are the single engineer working on this project. Thus, it's safe to say that your current situation is more agile than waterfall.

However, it sounds like the biggest problem that you're facing is the lack of a daily meeting. In an agile model, frequent communication is more important. You need to find out a way to get your client to meet with you more frequently or at least be available for quick questions.

Lucky for you and your client, we live in the modern era where collaboration tools are at our fingertips :) One of the ways that I personally overcome these challenges is with chat. I use Google Chat, as well as Skype, to communicate with clients. It does take some convincing, but if you keep pressing them you can convince them to keep one of those chat services up and running. We actually found that one of our clients preferred to use chat once we convinced them to use it.

Try asking the PM what chat software he/she uses normally, and explain that you like to use it to field quick questions. Also, in your next meeting, continue to remind the client that your progress would be a lot faster if you had access to answers to questions that you have. Be polite yet persistent, and I'm sure you can make this work.

  • Yes, I do believe that was the main problem with this project. I felt that I would be working agile as I had a lot of control over my work pacing. We would communicate by email but his responses took usually at least a day. Being left in the dark for several days sometimes got me disoriented in the project. – CC Ricers Feb 27 '12 at 1:10
  • 1
    Be sure to explain that. Be professional, of course, and make sure that you're clear that using chat will not just make your job easier, but his as well. I'd also strongly suggest using something he already uses. Also, we forgot the best way to contact someone: Use the phone! I know programmers sometimes hate to talk to people, but this is perhaps the most effective way to get in touch with someone who is not an email/chat type person. – jmort253 Feb 27 '12 at 1:14

welcome to PMSE!


It's a good idea as long as:

  • It's a small project
  • It's well documented
  • The developer team (i.e. you) knows clearly what needs to be done

The problem is, usually the project changes as the time goes by. It seems that the main concern here is that the client does not have PM skills (otherwise you wouldn't be here...), and things eventually might fall onto your head.


Bearing the above in mind, that's how I'd proceed:

  • Arrange a periodic meeting. If the client is the PM, he needs to have time for you. Then, you'll be able to gather all questions you have to a single shoot session at a specific time. If the client has no time for such meetings, you'll have enough arguments to have a proper PM instead of the client inheriting this task.

  • Start documenting everything. I liked jmort suggestion to ask for the client's tools (although I believe the client itself won't be used to PM tools). Instead of going against the client, look for ways to go along with what's already in place. Chats and calls are a must do to solve quick questions; project direction, though, needs to be properly addressed. Meeting minutes, properly stating what are the next steps might give you some coverage in case the train get off the track.

  • Look for tasks that can be done in parallel and agree them beforehand. You need to know what can be done in case you reach a dead-end that needs client's assistance.

Hope this helps.



If the client is his own project manager, why does he not hire directly some people as his team? Why does he take that responsability if he does not have the time to do it? This is a confusion of roles that can undermind greatly the project you are talking about. I wonder if their could also be a conflict of interests. Responsabilities are not the same for a project manager than for a client. If you mix both, some legal questions could be addressed if the project goes over costs or if it fails. I would always avoid that situation.

Your Answer

