Application code is only part of the puzzle

Of course, your application code is important.

In a Drupal project, in addition to the framework itself, you'll likely have additional community-contributed (contrib) modules that add functionality and any project-specific custom modules and themes.

The application code, though, is only one piece of the puzzle.

You also need infrastructure code to ensure the code runs with the correct dependencies and versions for everyone working with it.

You don't want people using different versions of PHP or a different web server.

You want consistency between all environments to lower the risk of introducing bugs.

You also want the infrastructure code to be reliable and simple to run and bundled with the code for each access.

Instead of using something like MAMP or XAMPP, software like Nix and Docker (or wrappers like Lando and DDEV) have files that can be kept with the application code.

This makes it much easier for people to contribute, whether they're employees, freelancers, consultants or open-source contributors.