Designing Software for Ease of Extension and Contraction | IEEE Journals & Magazine | IEEE Xplore