TY - GEN
T1 - Incremental and iterative reengineering towards software product line
T2 - 27th IEEE International Conference on Software Maintenance, ICSM 2011
AU - Zhang, Gang
AU - Shen, Liwei
AU - Peng, Xin
AU - Xing, Zhenchang
AU - Zhao, Wenyun
PY - 2011
Y1 - 2011
N2 - It is common in practice that a Software Product Line (SPL) is constructed by reengineering a set of existing variant products. To alleviate the problems of high risks of failures and the limitations of resources and cost, incremental reengineering towards a SPL is a natural choice in many cases. However, several problems remain unaddressed properly, such as how to define increments, how to satisfy regular product delivery in parallel with reengineering, and how to achieve early successes. In this paper, we report an industrial case study on a successful SPL-targeted reengineering project conducted in Alcatel-Lucent. In this project, the project team applied the principles of agile development in the process of SPL reengineering. The key practices of the project include value-based increment definition, domain-driven responsibility alignment, iterative component refactoring and integration. We analyze the reengineering process of a major component qualitatively and quantitatively, with the focus on initial investment required, trend of investment, returns on investment and quality improvement. Our case study shows that incremental and iterative approach with stakeholder-value considerations can help to achieve steady and successful SPL reengineering in a cost-effective manner. We also find that SPL adoption can be regarded as an emergent result of the reconstruction and improvement of existing product assets.
AB - It is common in practice that a Software Product Line (SPL) is constructed by reengineering a set of existing variant products. To alleviate the problems of high risks of failures and the limitations of resources and cost, incremental reengineering towards a SPL is a natural choice in many cases. However, several problems remain unaddressed properly, such as how to define increments, how to satisfy regular product delivery in parallel with reengineering, and how to achieve early successes. In this paper, we report an industrial case study on a successful SPL-targeted reengineering project conducted in Alcatel-Lucent. In this project, the project team applied the principles of agile development in the process of SPL reengineering. The key practices of the project include value-based increment definition, domain-driven responsibility alignment, iterative component refactoring and integration. We analyze the reengineering process of a major component qualitatively and quantitatively, with the focus on initial investment required, trend of investment, returns on investment and quality improvement. Our case study shows that incremental and iterative approach with stakeholder-value considerations can help to achieve steady and successful SPL reengineering in a cost-effective manner. We also find that SPL adoption can be regarded as an emergent result of the reconstruction and improvement of existing product assets.
KW - Agile software development
KW - reengineering
KW - software maintenance
KW - software product line
KW - transition
UR - http://www.scopus.com/inward/record.url?scp=83455200893&partnerID=8YFLogxK
U2 - 10.1109/ICSM.2011.6080809
DO - 10.1109/ICSM.2011.6080809
M3 - Conference contribution
SN - 9781457706646
T3 - IEEE International Conference on Software Maintenance, ICSM
SP - 418
EP - 427
BT - Proceedings of the 27th IEEE International Conference on Software Maintenance, ICSM 2011
Y2 - 25 September 2011 through 30 September 2011
ER -