I created an org chart module. It interacts with the profile module to display an organizational hierarchy.
From the project description:
An organizational chart that uses the profile.module. Install in your modules directory. Currently, it uses profile fields to build the chart. It assumes that there will be two fields that hold the following data: * Employee ID – this can be any alphanumeric identifier * Supervisor ID – this is the alphanumeric identifier pointing to the current user’s supervisor. In the administrator settings, you may specify the profile field names which correspond to these values. There are plans to have two other options for loading the data in the future: 1. A custom external table specific to the module 2. Some flat file Next on the roadmap is graphviz output.