I agree that software and fabrication have much more overlap with regard to challenges faced than software and manufacturing. Unfortunately, manufacturing gets most of the academic attention, so job shop scheduling has basically stagnated since the 70s, when academia started becoming aware of Toyota's innovations in manufacturing. Some work has been done using genetic algorithms to try to tackle the subject, but nothing substantive has taken hold in the industry.
That being said, I've found a few resources that help you start to get a handle on fabrication (and software development) and how to manage it. Theory of Constraints by Goldblatt, and it's more executive-friendly companion volume called The Goal are a good place to start, but lacking on detail.
Understanding Variation by Donald J. Wheeler has proven to be a very useful resource.
It's About Time: The Competitive Advantage of Quick Response Manufacturing by Rajan Suri is the executive companion to the book Quick Response Manufacturing: a Compan-Wide Approach to Reducing Lead Times by the same author. Mr. Suri uses a system-dynamics approach to manage capacity and to manage batch sizing, which his research revealed as the keys to optimal lead time reductions, and thereby overall throughput.
The other interesting thing we've found by analyzing the data of our company is that the time it takes to ship a particular piece (measured in days) falls into a long-fat-tail distribution regardless of the scale we analyze. In other words, if we look at one employee's output, or one team's output, or one shop's output, or the company as a whole, the time to ship is in a long-fat-tail distribution.
Because of this, we basically manage by how long something has been in a particular department. The longer it's been sitting, the higher its priority becomes. What we're trying to do is basically manage the exceptions and let the system manage those that are in the normal bell curve.
Hope this helps. Feel free to ask further questions. I find the topic fascinating and not many people share this interest.
After I finished my comment, a thought occurred to me that I wanted to share. One big difference between fabrication and (most) software projects is scope creep. We manage scope quite fiercely, and the weapon we wield is the change order. We are in the fortunate contractual position of being able to charge our customers when they change/add scope.
One of the biggest challenges I've seen (as someone outside the industry, but familiar with it) in software development is feature/scope creep. That seems to really hobble a lot of projects. Star Citizen comes immediately to mind as an outlying, but illustrative example.
We don't really have a lot of feature/scope creep in most of our projects. We do, however, have shared resources between simultaneous projects, which poses a similar challenge.