Just A General Question, How Do Multiple Programmers Work On The Same App?

Large projects like Microsoft Flight Simulator have multiple teams working on multiple different areas simultaneously. For example, we have a group of devs who are responsible for fixing bugs with the graphics rendering engine while also improving it by adding new features like DX12 and DLSS support. Then there are entirely different teams responsible for other parts of the product like the weather system, the flight model and aerodynamics system, the user interface, avionics, the SDK (tools for 3rd Party devs to make addons/mods), the Marketplace, and so much more. There is very little overlap between work being done by each individual group, so they can typically make changes to their code without impacting the work being done by other teams.

When preparing for a new build, each team is tasked with meeting certain deliverables and milestones defined by their managers/producers. After a certain point, all code changes are locked and merged into a new build. We then have our internal QA team complete a first pass of testing the new build to make sure there are no critical show-stopping errors, bugs, and other issues that might have cropped up during the code merge. For example, it’s possible that a change the Weather team made could have inadvertently caused a bug to a completely separate change the Flight Model team made. For large builds like a new Sim Update (e.g. the upcoming SU10), we then make it available as an opt-in beta test to any player who would like to assist the devs. The ability of thousands of players each using MSFS in different ways to identify issues obviously exceeds the capacity of our own internal testing team, so these public beta tests are invaluable to the devs.

In the past, we’ve run each beta test for a period of ~2-4 weeks. If you’ve seen any of the recent media interviews with Jorg where he discussed this topic, he mentioned that he wants to lengthen the period new builds are in public testing to give the community more time to identify issues and the dev team more time to resolve them.

8 Likes