1. 引子
我们生活在连接和定制的梦幻世界,使用社交媒体维系人际关系,每天都依赖着无处不在的即时通讯与朋友和家人保持联系。在社会允许的范围内,我们行使自己的能力来定制我们的世界来满足特定的喜好。我们期望选择,但通常期望几乎是无限的。当期望难以实现,我们会感到沮丧。
商业成功的关键取决于能否提供多种选择的能力,这条思路已被各个行业广泛接受。跨越到汽车行业,制造商都已意识到提供差异、品种和选择的巨大市场力量。亨利·福特被公认为是大规模汽车流水线制造技术的创新者,他曾细品过一句话:“客户可以将任何颜色的汽车涂上任何颜色。”
选择和变化的爆炸式增长,渗透到每个产品和服务中,使得大规模定制已逐渐成为现状,现在的厂商可以自定义所有内容,从驾驶的汽车到穿的鞋子。
分析变化的本质,可以发现越来越多的实现由软件驱动。软件不仅可以捕捉和传达客户的需求,还可以逐步实现多样化。应对这一新的现状,我们需要具备软件开发的艺术和科学,以及交付高质量软件所必备的生命周期管理流程,来提高对各种软件变化响应的持续有效性。
2. 现状
传统模式对软件变化反应不足
软件开发组织永远面临挑战,诸如更多的创新,更快的交付,更高的质量。随着软件版本增加,传统的开发模式对随之而来的破坏变得不足抗衡。
不适合的敏捷开发实践
敏捷开发在满足软件需求方面提供了相对成功的方法而受到广泛欢迎。敏捷方法论确实可以使开发人员更快地迭代发布,并确保在整个开发过程中不断验证交付,但敏捷方法论和实践并未涉及到软件变体的管理。开发和发布速度的提高,适应不了越来越多的软件变化。
面向版本的发布管理乏力
开发实践长期以来一直将克隆策略用作可重用技术&