  As scientists' needs for computational techniques and tools grow, they cease
to be supportable by software developed in isolation. In many cases, these
needs are being met by communities of practice, where software is developed by
domain scientists to reach pragmatic goals and satisfy distinct and enumerable
scientific goals. We present techniques that have been successful in growing
and engaging communities of practice, specifically in the yt and Enzo
communities.
