Earlier quoted context omitted.
You need to get 50% payment upfront. Or work in blocks of money on account (eg for a $50k job, you have the client send you $10k in advance and when that is near depleted you have them wire you the next $10k, etc)
If Colin's clients are anything like our clients (very likely), that's a bad idea. Nobody he competes with is asking for anything up front. Breaking projects into billable milestones is a good idea for other reasons (it's a buffer against scope creep, providing you with periodic scope/schedule resync points), but it doesn't solve the payables problem. It's bad business to tell a client "I'm not going to proceed on mi…
And when you get 3 on time payments, and then the 4th is slipping you have to wonder if it's because they are having trouble getting the money. If they're having trouble getting money, why on earth would you waste your time working on a project that you won't get compensated for?
I think it's totally appropriate to expect on time payment if they can expect on time work. There's no reason it should be a one-sided agreement. How you reinforce that is up to you. But I don't think that communicating that their late payment is making you nervous and uncomfortable with the project is out of the question.
On a previous gig, this worked well on. I started seeing issues on his end with paying on time and it was rooted in ability to get the cash. Danger! He needed the project done asap, and couldn't afford me putting it on hold as I waited for money to come through. I communicated nervousness, so he had to hustle to get the cash.
Of course, once my work was done, it took quite a while to get final payment. It makes me wish I had a way of putting the design files in escrow of some sort, so that at least the pain was shared.