51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2915|回复: 0
打印 上一主题 下一主题

大型网站的功能上线控制流程篇 1

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-12 12:00:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
相对于项目软件和产品软件的开发(主要是C/S构架),面向大众的网站开发(例如商务网站,门户网站等)有着一个显著的特点:迅猛地推出新特性,改善和淘汰旧特性。只有这样才能够在这个竞争对手多如牛毛,新的想法和创意层出不穷的时代中,为客户带来更多的使用价值以及更好的用户体验,进而能够吸引并黏着更多的,更有价值用户流量。
   
    文章之所以强调“大型”,是因为当网站规模和访问量还比较小的时候,要做到这一点并不难,主要是船小好调头。但是若网站已经发展到一个较大规模时候,我们必将面临诸多的功能分拆,团队的分布式,多线程并行开发的问题。在这样一种环境条件下,我们如何能做到有条不紊的完成这一“快”字诀呢。
   
    在论述这个问题之前,我们先将我们日常的开发内容简单地分为以下几类
  1.新feature(包括旧feature的改进)的上线
  2.过时feature的下线
  3.线上Bug的修复
    -- 严重问题的即时修复
    -- 日常性一般问题的修复
    当然还有诸如网站促销活动,以及与第三方联合开发互动功能等,这些我们在这里就不特别讨论了。
   
    首先我们将上线周期设定为两周,也即每两周都会有一组features可以与用户见面(第一周将代码deploy到产品线上,第二周是稳定期),这样全年就有26(365/14)个可用的功能上线点。该年度计划中所有的feature,在保证其开发先后依赖关系不被破坏的情况下,大致的均分到这26个时间槽上。
   
    接下来对于feature的切分和统筹安排。
    一般来说,各功能在提出阶段,本身通常都是独立且完备的,但很多时候,我们会有相当一部分的功能,由于其粒度太大,或者构思及完成步骤太复杂(例如:整套商业方案的推出,或是技术构架升级),我们必须将其劈成几组相对独立的feature来逐步上线。为的就是能够降低开发失控风险,以及需求设计风险(用户不待见)。
    这样我们就有了两类feature,一类是完全独立的feature,一类是有着前后依赖关系的feature。对于后者,在其分配其时间槽上线的时候要稍微复杂些(一旦某阶段feature的延迟,会冲击到一系列下游feature的开发上线时间),包括设置适当的缓冲间隔,必要时甚至需要剔除掉(推迟)原本计划安排在同一时间槽的其他次重要,但可能有影响的feature
  
    最后各个feature的开发流程都是比较固定的,由于每个feature的粒度都被控制在一个适中的范围内,在确定该feature的伊始,我们就可以给出一个大致的开发预估时间值,并初始定下其在哪个开发槽上线。然后再经由各具体开发团队实际估算,确定具体的开发量,微调之后,进行开发,测试,回归测试,上线。

[ 本帖最后由 ahhuang 于 2009-7-12 12:52 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 18:50 , Processed in 0.063257 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表