My company is developing a new product which consists of several embedded systems. The hardware for these devices is being developed by electrical and mechanical engineers and the software is being developed by software engineers. Of course the hardware guys and the software guys work together as necessary, but since the devices are running embedded Linux, the hardware/software concerns are pretty well separated and the different engineers are able to work separately and in parallel for the most part, independent of each others' progress.
This project has a single PM with a hardware background, and he has been mostly focusing on the hardware aspect of things while the software side has not received much managerial attention and has fallen behind schedule. I, as a software engineer on the project, have often wished we had a software project manager assigned to the project to manage things better on our end. I have tried to fill in as an unofficial software PM as much as I can without stepping on any toes, but I just don't have enough pull to be effective in this effort.
So my question is, do projects of this nature generally have a software PM and a hardware PM assigned? I would like to suggest a possible new approach for our next project, and I'd like to know what has worked for other people in this situation.
EDIT - More details from comments below.
Half the software is being developed in-house and the other half is being done by a contractor.
We have regularly-scheduled hardware reviews and all of our meetings with the contractor consist of 95% hardware talk. We have no idea what the status of the software being developed by the contractor is, other than they are "working on it" and it's "coming along". I seem to be the only one that is concerned that we have no real idea of the status of the software after 1 year of work so far. I have tried to convince the PM that we need more visibility into the software status, but he doesn't seem concerned, even after hearing my suspicions that the contractor is way behind schedule on the software side.
I feel that if we had a Software PM, we would have a much better handle on the software status and we wouldn't be at such risk of schedule/cost overruns.