Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If you are developing your own architecture or heavily use anothers vendors API, how do you promote awareness to the programming staff? For example, say you use Infragistics controls for you C# winforms apps - the controls have boatloads of methods, some quirks, and a best way to use them for your application. How do you promote the knowledge transfer thru your programming staff? Wiki's? Email? Blogs?.

share|improve this question

Documentation seems like the most reasonable place to inform your development team regarding implementation and usage of external libraries/API.s

Emails get lost, are not read. Wikis are for interlinked content.
Blogs are usually for individuals.

Documentation is for communicating evidence of something.

Although I suppose you could have a meeting initially when a project starts to discuss a chosen API/library to make sure 1. everyone is on the same page and 2. no one has a concern with using it that may have been missed.

share|improve this answer
How to you keep the documentation up-to-date? Do you enforce a process in which the developers must update the Word document after implemented a fix/feature enhancement? – bigtang Oct 14 '10 at 14:21
+1. @bigtang, to make up-date painless, your documenting system has to be automated. Like XML documentation member in C# and tools like SandCastle – user2567 Oct 14 '10 at 14:52
Not familar with SandCastle, but I suspect this is very technical documentation - while this is useful I'd also like to capture best-practice stuff as well ie When using Infragistic grid in a <specific>blotter use the async calling methods because blah blah blah – bigtang Oct 14 '10 at 15:32
Word documents are not for software documentation. Also, guidelines need to be in place for a development team to work together. Specifications for a project will define the project itself and these can be as specific as we will use X API for this project and as general as this software will solve such and such problem. – Chris Oct 14 '10 at 16:50
Word docs are definitely not for project doc. I advocate the use of ASCIIDoc, which is plain old text so easy for a dev to use, yet is generated into pretty looking docs. The 'auto generated' doc from source code via Sandcastle or Doxygen has its place, but it is not a substitute for real documentation. Its just an easy way to "browse" the source code. – gbjbaanb Apr 19 '12 at 13:30

Use a combination of formats, appropriate for each knowledge function.

  • Blogs and RSS feeds can be used to announce updates, news items, etc.

  • Wikis can be used to document current standards, policies, processes, how-tos, APIs, etc. The content can be structured, given a table of contents and index, support the development of commentaries, provide versioning, dynamic updates, etc.

  • Forums/discussion boards can be used to work out issues of a technical or managerial nature.

Definitely allow tagging of content tagged for a variety of categories (data types, layer, functionality, bugs, etc).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.