An engineer is developing the flight control software for an autonomous delivery drone. Instead of writing a single continuous block of code, the engineer divides the program into structured subroutines (procedures and functions) such as calculateAltitude() and deployParachute().
State three advantages of using this structured, subroutine-based approach to design the software.