Some methods for introducing new operations into logical specifications are examined, with emphasis on criteria for conservativeness, and compared with respect to their relative power. The motivation comes mainly from software development, especially methods using abstract data types, whose specifications and implementations can be dealt with in terms of theory presentations. Some of these methods are traditional in logic whereas others originate in program development. Criteria for the conservativeness of extensions produced by each method are established, and these methods are shown to fall into three classes with respect to their relative powers. Applications to program development by stepwise refinement are considered.