TL;DR: Boss insists on an expensive cloud-hosted VM for a development environment for a cost-conscious client. He has misunderstandings and reservations about using physical devices for development work due to client ownership & risk concerns. We're spending weeks on what I see as a non-issue, and not making progress on this application. Boss is not receptive of explanations or arguments one way or another. It's a 2 person team and There is more humming & hawing and misc bureaucracy than I even had when working at a pharmaceutical lab... At this point I just want to get to work for this client, not sure how to move this forward.
I'm a remote developer that works for a small company (<10 people) that does miscellaneous contracted development for other businesses. I work solo on most of our projects, and my boss (The company owner, lets call him Frank), does a little development here and there on the side. But for the most part he runs the business, and as a result has fallen a bit behind on how development has changed over the decades (e.g., source control being a "new thing" that's not utilized by anyone else but me).
We are starting on a new client with a sizable greenfield project where I will be the solo developer -- we expect this project to last 2-3 years. They are very cost-conscious since they are a small 10 person team, and their application will be hosted on a cloud provider like AWS.
We have finally come to the point where I can get started on their product; however, Frank insists we need to sort out a remote development environment. And we have been going back and forth on this for weeks now, without making progress. The problem is that a capable enough VM is going to cost the client ~$250/m in hosting costs ($3000/y, or $9000 over the next 3 years) which is exorbitant given how cost-conscious they are. I suggested just developing on a local device, which has been the standard at every other company I've worked at. In my experience dev environments are mobile, and can be taken with you on a laptop, fired up on a VM, or used on my workstation. They're disposable, and are a few installs and a git pull away from being setup again.
Frank is very concerned about using a physical, on-site, device for development. He seems to believe that the code and the application lives on this device, and if it's lost the client loses their product. Frank is concerned that the client needs full ownership of everything, all the time, and that using a device not in their possession is unprofessional. I have explain in many ways that this is not the case, and that a development environment in our stack is entirely disposable, that the code is held in a remote repository and backups maintained elsewhere.
Frank does not seem to understand that the development environment isn't particularly special. I have explained in many ways how it functions, but his opinions and assumptions do not change. We are wasting weeks of time spinning our wheels over something as mundane as where the development environment should be. For me, it doesn't matter -- it's mobile and I can set it up on any device whenever I need to. This is to ensure I can get work done even if I'm traveling, or lose internet access. A remote VM is fine, it's just less time efficient due to latency and other miscellaneous issues that are part of developing remotely, and it will cost the client more money.
I'm not sure what direction I should go, or what to do at this point. We have enough self-inflicted red tape to make a Fortune 500 company proud, and it's only the 2 of us. It's extremely frustrating.
How would you navigate this?
Clarification: There are 7 people employed by my company, but for this project it's just me as the developer and my boss as the boss.