招数:逐步冻结
随着程序功能的完善,我们要让程序的各个方面有次序地"冻结",这样才能把稳定的软件交付给用户。一般来说,程序的人机交互界面最先开始"冻结",不能再随意修改,因为很多项目的文字信息要被本地化成多种语言,只有人机界面所用的文字和布局固定后,我们才能把这些文字交给负责本地化的部门。随着时间的推移,一些功能也可以"冻结",这些功能都经过全面测试,所有的Bug都解决了,功能进入稳定状态,在下一个版本前不要再碰与此功能相关的代码。如果有新的功能要加怎么办?那就在当前源代码的基础上创建分支,让当前版本和将来版本的工作分开进行。
不同频率和不同覆盖范围的渐进发布
上文提到的Alpha,Beta,Beta1,Beta2等发布方式,发布的间隔是一个月以上,一般来说,后一个发布是前一个版本的升级,发布的目标人群也类似。在互联网时代,出现了一个产品同时对不同的目标用户用不同的频率来发布的情况,例如中国小米公司的MIUI软件[注释2]:
外界一直觉得MIU1每周更新的频率很好,但是这个节奏并不适合每个企业。事实上MIUI的更新频率对不同的用户组是不一样的。MIUI有三
个更新频率,一天一更新,面对的用户大概是几千个,这个用户组我们叫荣誉内测组;一周一更新,面对几百万用户,这个组叫开发组;一个月一更新,面对的是90%的普通用户,有几千万,推出的版本叫稳定版。又如微软公司在Windows10的发布过程中,同样采用了不同目标人群+不同发布频率的方式。