I will assume you have never worked with software before, let alone in a company that develops it. You can't compare this to building a house or most physical things, it doesn't work that way. They can't have everyone working on fixing mainframe, core, physics, or HMI. These areas are usually specialized and changes can't be made to them without a decent amount of understanding and experience. Everyone is split into groups, groups are then given tasks and deadlines. Some groups finish before others, and big and/or risky changes take much longer to implement let alone test.