Source code file organization is very often done organically. That is, developers start writing code and organizing their files based on their immediate needs, which at the beginning of a project usually do not include unit tests or code reuse. Consequently, later in the project when code reuse for unit tests and functional simulators becomes an issue, changing these now rigid source code directory structures can be very painful.
Project and company-wide file organization planning that is done early and deliberately ...