There's also the problem of of a company working on multiple construction sites in parallel.
In software engineering, this also happens of course, especially if you develop in house. And you also need to factor in the maintenance, as it's usually performed by the same team.