"How do you manage improvements to your reuse library? If a developer is working on a project and discovers an bug or wants to add a new feature, what process (if any) must they follow? How do you ensure that local changes to reuse components in the project (if any) make thier way into the main reuse library?"
I wrote a procedure that applies both new entries and enhancements. This procedure includes approval by one of our CLA's of both the code and the "Tester" which verifies the library entity will work correctly. To date we have not discovered any bugs in any of our library components (thank GOD!).
Once in the library each entity and it required sub-VI's are password protected so the developers are discouraged from modifying them (they know how to generate the password in the event a bug does show up). Ehnacements generally are driven by new "needs" and the developer is free to enhance as they see fit within thier project. If they think others would like their enhancements, everything has to go back through the wringer again.
" If I am a new developer in your organization, how do I find out what reuse components are available for use in my projects?"
We handle this as part of the above mentioned procedure. Any new or enhanced code must be documented in both a word and plain text document. THese are kept with the library entity. We also maintain an index that list all of the re-use entities and a short description of what they do, along with any dependencies they have of other library entities.
So Noobs are simply told to "read the book".
As new entities are added, we cc all of the techno-weenies and include the write-up so they new tools are available to them.
Ben