Програмирование и документация?
habrahabr.ru/qa/5968/ — для разработчиков, в итоге приобрели Confluence
Насчет юзерской документации — я всегда просто писал сам. Муторно, но надо. Просто используете некоторые основные скриншоты и пишете в каком-нибудь ворд документе.

Насчет смены девелопера — просто используйте общепринятые стандарты программирования. Используйте ООП и технику системного анализа (UML, ClassDiagram и т.п.). С другой стороны, некоторые говорят, общих стандартов не существует и в этом есть истина :). Для этого просто берете самую популярную книгу по программированию в определенном языке (например в PHP книгу Люка Веллинга и Лауры Томсон «Веб разработка в РНР и MySQL — Luke Welling and Laura Thomson — PHP and MySQL Web Development) и придерживаетесь их принципов. 

В остальном новый разработчик уже должен сам разобраться. Если код написан хорошо и структурно, то для нормального девелопера не составит сложности все понять. Тем более, если Вы пишете документацию.