Usually, aspects enhance a software product by being composed - or woven - into it. Here, on the other hand, we use aspects to support the software development process itself. The underlying system, i.e., the system to which the aspects are woven, is not the software product but the environment where it is developed. We define aspects to support both software process management and software process modeling. As we show, the aspects can monitor, enforce, or even partially implement compliance with desired development practices. They also provide a basis for a precise description of a software development process. As a case-study, we consider Extreme Programming (XP) and the Eclipse platform. XP is a software development methodology described by underlying values, principles and practices. We present examples of AspectJ aspects that support XP guidelines such as “compose tests before coding” or “provide rapid feedTheir abstract definitions are shown to be platform independent an...