|
最近乘着项目压力稍懈,挪出些时间,对比着时下比较火的诸如RUP,Agile Model(XP,SCRUM等等),重新审视和梳理一下整个开发流程。有了些有意思的发现,希望能和大家探讨探讨(这里俺们不是做学术研究,所以我们只谈软件过程当中的核心过程(软件开发周期),忽略支撑过程和组织过程)。
到目前为止,古典些的开发模型有诸如瀑布模型,演化(原型)模型,螺旋模型,喷泉模型等,现代些的有RUP,Agile。对于有一定规模(比如已有稳定的盈利来源)的互联网网站来说,通常倾向于瀑布模型,呵呵,不奇怪,如果你能够自主掌控需求和上线时间和节奏的话,瀑布模型最适合。
但同时,与传统的软件开发(无论是基于项目的,还是基于产品的)相比较,互联网站类还有一些自身的特殊之处:
- 首先是互联网站的客户群众面通常非常广泛(即便你针对是某一特定群体),且流动性很大。
你很难去寻找特定的客户代表(产品经理)来共同开发和确定需求;
- 其次是为满足大众口味的多样性,我们通常会是并行开发许多的feature,这样也使得每个feature的开发周期(迭代周期)都非常短。
- 最后是多组feature上线之后,单个feature的实施效果评估比较困难
这也就决定了其在开发流程当中会有些特殊之处。而我们也把整个开发流程拆解成:
“需求的搜索发现阶段” --> "开发内容的确定落实阶段" --> "具体的开发阶段" --> "上线以及维护阶段"
[ 本帖最后由 ahhuang 于 2009-11-4 18:26 编辑 ] |
|