I manage a small team of .net developers in what is chiefly a mainframe shop. My boss is trying to integrate my team more closely with the other development teams. One issue that has come up is that the mainframe programmers have what they call a "parts" database. This is a simple database in which you enter a software part (object, unit,report, function, etc.) and the system issues you a part number which becomes the file name of the executable. The system has two purposes; it issues you a part number/name, which has intelligence built in to it to tell you what team it is maintained by and what program subsystem it belongs to, etc. The mainframe has a flat name space so they use these names to avoid using a module name that already exists. Secondly, and you can also enter some comments about the part. Supposedly this can be used to tell others how to use the "part" in question, if it relies on other external technologies, etc., though, when I asked to see useful examples of this, they could not show me any.
Since we don't have a flat name space in .net, I am resisting the proposition of having my team's objects named in a format of AAAA9999. In discussing this with my manager he wanted to know how we track such things in the "intel" world. In my experience is that such details are kept either as comments in the code or help files, or doc manuals/files, etc, which we already have to maintain. I am dubious as to the efficacy of having my developers maintain data in a database as well. My boss says that he wants to be able to ask me such things when he needs to. In actuality he has asked me something like this once in three years. I told him for that amount of traffic, having my developers maintain a database wasn't worth it. It would be better just to consult with the team and/or search the source code when the query came in.
So my question is: Is a database that documents the internal technical details of the different software entities that exist in an organization (in addition to doc manuals, online help, etc.) useful and practical? Has anyone ever used such a thing in their work?