[3-21]论web项目小组的流程以及成员该如何组成

来源:互联网 发布:十二楼李渔知乎 编辑:程序博客网 时间:2024/06/11 16:24

网上看了几篇文章,大概了解了一下web项目开发的流程,重新组合一下。

第一:开发流程

1、项目的角色划分        

         如果不包括前期和后期的市场推广及销售人员,开发团队一般可以划分为项目负责人、程序员、美工三个角色。项目负责人习惯称为项目经理,负责项目的人事协调、时间进度等安排,以及处理一些与项目相关的其他事情。程序员主要负责项目的需求分析、策划、设计、代码编写、网站整合、测试、部署等环节的工作。美工负责网站的界面设计、版面规划,把握网站的整体风格。如果项目比较大,可以按照三种角色把人员进行分组。角色划分是Web项目技术分散性甚至地理分散性等特点的客观要求,分工的结果还可以明确工作责任,最终保证了项目的质量。分工带来的负效应就是增加了团队沟通、协调的成本,给项目带来一定的风险。所以项目经理的协调能力显得十分重要,程序开发人员和美工在项目开发的初期和后期,都必须有充分的交流,共同完成项目的规划和测试、验收。

2、开发工具的选取        

         不象C/S结构程序开发,可以一门语言从头到尾,你用Delphi,就是Delphi程序员,你用VC++,你就是VC程序员。B/S结构的Web开发工作,工具的选择是一件痛苦的事情。从Windows到Linux,从IIS到   Apache,从J2EE到   .NET,从EJB到COM到.NET组件……还有   Asp、Asp.net、Jsp、Php、Perl、Javascript、Vbscript……美工也轻松不了多少,什么"网页三剑客"   "新网页三剑客"、FrontPage、Photoshop、CorelDraw……谁都说自己是最强大的!我们的经验是,选用工具时最好是统一的,但是也不必刻意强求一致。正是Web开发工具的多样性,才成就了今天互联网多姿多彩的局面。只要程序员的纯Html代码的功夫足够过硬,一般不会影响网站最后的整合工作。3、项目开发流程            

         由项目经理牵头,以程序员为重心,共同讨论,完成用户需求分析,产生网站的栏目规划(用树形图表示),标出哪些是静态页面,哪些是动态页面。动态页面须要程序实现。制定网站的界面框架,包括首页构图,及各页面间的钩稽关系。产生各栏目文件夹的结构图(一些公共文件夹如images、scripts、   styles等需要固定存放,共同调用)。然后由美工根据内容表现的需要,设计静态网页和其它动态页面界面框架,该切分的图片要根据尺寸切割开来。给需要程序动态实现的页面预留页面空间。制定字体、字号、超级链接等CSS样式等。在美工设计页面的同时,程序员着手开发后台程序代码,做一些必要的测试。美工界面完成后,添加程序代码,组合网站,由项目组共同联调测试,发现bug,完善一些具体的细节。最后进行网站部署。以上的每一部都会产生一些阶段性成果,项目经理需要及时进行审核、监督,发现问题即使纠正。

第二:人员分配

一、项目小组成员的确立:

在实际情况中项目的产生主要有两种来源:

1、来自公司内部的。公司为了更加确立自己在某个领域的领先地位或者需要开拓新层面的访问者市场,而自己确立的项目。这种项目一般由公司扶持,不以盈利为目的。所以技术和思路的创新以及新员工的培养是这种项目的最大的意义。因此这种项目小组的成员应该大量的创新意识强烈的新员工和一部分技术和开发经验丰富的老员工组成。如我们公司图形化社区的开发小组人员主要是由刚刚毕业的大学生加上一个30岁的工程师组成。结果在使新员工得到了难得的实际开发经验的同时社区中新颖的思想也取得了社会的认同。

2、直接来源客户的。也就是说从客户的手中取得的项目。这种项目主要是以赢利为目的。因此会经常和客户有法律和经济程序上的交往。如客户需求协议的签定,项目完成后客户以何中方式付款等等。所以使这种项目小组拥有一个自己的法律顾问是必须的。而为了更加降低项目的风险系数,小组的成员应该尽量有一些有经验的员工为主来确保项目能够正常的按时进行。

总的说来每个项目都有自己的目的,而只有明确了项目的目的才能更加有效的组织和产生一个与项目密切相关的项目小组。从而作出正确的作出项目的总体计划和过程。

  二、项目小组角色的确定:

当知道建立这个项目小组的目的以后,现在就可以根据实际的情况来确定项目小组中的角色了,以下我个人觉得是比较完美的一种小组角色分配方式:

1、web制作人或者叫做项目经理:

  如果站点是内部开发的,那么项目经理就是公司委托全权负责此项目的人物。如果不是内部开发,我建议项目经理一般应该是公司的负责人和需求方的负责人将一起密切的工作完成这个角色。因为这种项目是用来实现市场目标的,通过这种组织方式可以便于项目小组和客户在项目进行中更加多的接触和相互了解。注意:实际项目经理的权利应该是公司的项目负责人拥有的,客户只是在项目工程中起到一个监督和建议的角色的。
  项目的经理应该明白建立这个web站点的目标是什么。他不一定是做网页或者写程序代码的最佳人员。不用去自己亲自去写范本或者为站点准备资料。但是他必须要知道怎样分配和争取项目小组中的资源和人力,以及怎样在项目开发中建立起健康而积极的开发环境来使项目更加有效的达到目标。这同时也需要公司领导要为项目经理提供足够的项目权利,并帮助他们在项目小组中确立足够的政治地位。
  我个人认为项目经理最好能够同时具备一定的美工和程序员经历,以及管理或者组织活动的经验。这样项目经理才能够在web项目进行中,不断在程序和美术两个较为矛盾的方面取得平衡,确定出比较好来同时实现两者目标的方法。

2、艺术指导:

  艺术指导主要是负责站点的可见内容安排和美化。其中的工作范围包括图象、页面布局、背景颜色、flash动画的制作、甚至现在越来越多的视频剪辑和vrml。  艺术指导其实就是所有网页设计师的角色的统称,但是在项目组中确定一位技术和经验的权威做为代表来负责是必要的。因为这样可以避免工作中因为图片风格或者个人水平不同而产生的争论和问题。他才是真正的艺术指导角色在web站点的可视化方面他拥有绝对的确定权力。

3、技术指导:

  技术指导需要负责web站点上与计算机接触的所有部分。他首先是一个项目经验丰富而且技术优秀的程序人员。他主要是确立程序员在开发过程中代码格式规范、代码说明规范以及帮助文件的规范并且确立每个程序开发员在实施它们,以便后期站点程序调试和维护的方便。
  技术指导往往也是参与开发的。他们可以成为开发经验不足的同事老师。常常可以给他们提供一些变通的办法。
  技术指导最终的目的就是保证艺术指导的想法得到最大限度的完美表现

4、文字编写人员:

  是web站点中内容的提供和创造人员。要求拥有熟练的文字编辑和创造能力。知识面广阔。对电脑有一定的了解就可以了。
  在站点的开发过程中文字的编写人员需要和艺术指导密切合作来增强开发站点的内容,而技术指导在创造力和现实之间平衡。

5、助理人员:

  相当于项目小组的后请人员。为项目小组保证一个舒适、干净的工作环境。其实一般的项目小组都不需要,我觉得比较适合那些封闭开发的项目小组。大家可以根据实际情况而定。
  以上都是一般项目小组的角色组成,拥有以上5种人员已经足够可以完成一个项目。但是我觉得对一个正规严谨的开发小组来说还需要两种角色:质量保证人员和法律顾问。这正是国内的项目小组里普遍没有而且也不曾重视过的角色。当然这两种角色并不是包含在项目小组中的,而是对项目小组顺利完成高质量的项目的一个辅助。下一张我会主要谈谈这两个角色的重要作用和其具体的方法。请大家指教。


三、质量小组和法律顾问:

  这两个角色很特别,质量小组的组成人员包含项目小组的一部分人员,但又拥有自己的不属于项目小组的专门人员。也就是说质量小组的成员和项目小组的成员只能是一个交集而彼此之间没有包含关系。而法律顾问的角色主要是针对第一节说的以赢利为目标而产生的项目小组。因为这种情况下一般和客户的交流、谈判以及协议会贯穿项目的始终,所以专门请一个法律顾问或者直接用公司的,可以减少项目进行中出现风险以及麻烦的可能。

1、质量小组:小组的责任当然是发现在开发中所出现的技术问题和错误,及时的向项目小组报告情况,并督使项目小组相关的开发人员解决被发现的问题。质量小组的人员的组成,当然首先会是开发小组中的全部技术人员。除此以外可以邀请公司里其他非项目小组的同事以及一些热心的网友加入发现问题的队伍。根据我个人的经验,一般web站点的质量测试有以下4个过程:

A、白盒测试:就是网站项目的开发人员自己在平时的开发中,或者是在一个小模块开发完成后。测试自己的所开发模块的过程。其测试内容主要是自己原代码的完整性和规范性,自己开发的模块流程是否清晰、逻辑正确等等。
B、黑盒测试:由开发小组的人员互相交换或者在空闲时间干脆请公司里非开发项目小组的同事来帮助测试各个模块。重要的内容是:检查各个模块的连接是否紧密,各个超级连接是否正确,在安装有interdev等开发软件的计算机上面是否有js报错,表单区域中的文本筐等和用户交互的部分是否有长度的限制?是否有超文本语言的过滤?是否有非法字符的验证?在用户填写相关信息出错的时候,程序是否有相关的处理等
等。
C、用户测试:主要是邀请本网站的热心网友以用户的角色来测试网站的功能。其内容主要是:评价每个模块的风格和网站的总体的风格是否冲突?页面安排是否舒适?各种连接所放的位置是否舒适等等。
D、负载测试:当网站看来可以很好的工作了,就可以开始负载测试的阶段。项目小组这个时候应该在公司和客户的帮助下,安排尽量多的用户登陆开发基本完成的站点,使站点尽可能的承受长时间和高强度的测试。这个时候往往会发现相当多的问题(特别是以程序为主的WEB站点)。比如程序运行时服务器出现内存溢出?CUP资源占用瞬间涨满?两个用户在数据库中查询同一数据时造成冲突?一些查询过程时间过长?甚至是一些客户端脚本与浏览器版本不兼容(这个毛病曾经让EWAN整整熬了一个通宵等等。在质量小组每完成一步测试的时候,都要详细的写好测试结果,测试环境以及问题描述的报告直接交给项目经理,再由项目经理了解大概情况分发给问题相关的开发人员并监督其解决问题。测试过程完成后当然是。。。开香宾庆祝网站发布啦!!

2、法律顾问:

  法律顾问的角色是项目规范化和法律有效化的有力保证。在与客户坚定项目协议或者是合同的时候,国内很有一些公司都没有规范的条款而是按照仅有经济经验来进行的。所以常常造成项目过后这样那样的问题,甚至是官司不断。可见法律顾问角色的重要性。法律的问题ewan也不太懂,为此特别请教了客户服务部的同事们(ewan的公司就没有法律顾问的角色。呵呵)。总结了一下,网站开发小组在与客户间的承包对话中可能涉及的条款有以下一些,供大家参考: 相关法律:《知识产权法》、《合同法》、《广告法》、还有关于企业间竞争的法律。

详细条款:
A、达成“完成”的一致概念:
  和客户首先要在什么是“项目完成”上达成一致。一般是把工作记录或者需求文档作为协议的一部分。

B、修改规范的过程:
  在项目的进行中,项目的规范中肯定会不断加入新的概念,一般来说这些新加入的概念应该累积到原始规定的工作完成为止。根据实际的情况和客户协商并给予修改。(阿捷以前的文章在这个环节讲的很清楚。)
C、站点提交方式:
  站点完成后项目小组是把站点安装在客户的服务器上面还是开发者的服务器上面?还是用其他方式交给客户。
D、开发过程中谁提供东西:
  为了避免以后的麻烦,在开发前就应该明确规定,谁提供艺术的那一个部分?谁来撰写文稿?谁来提供参加负载测试过程的用户?如果客户不在给定的时限内提供答应了的东西将怎么办?
F、费用和付款:
  项目有无与预付款项吗?有进度奖金吗?现金可以贴现吗?超出的花费可以补偿吗?
G、项目延迟的后果:
  如果站点没有按时完工,将会发什么?是否有损失?将会引发其他的特别事件吗?以及如何计算延迟损失?
H、税务问题:
  此类项目适用于那种税率?项目款项中的税应该那一方付?等等
I、产权归属:
  谁拥有最终的产品?如果是客户拥有,那么什么时候才算“拥有”?注意这个是非常重要的。
K、关于机密问题:

  有时候因为客户的特殊性(如财务公司),在开发过程中开发人员会接触到客户公司的详细内部信息比如财务数据等等,这个时候需要签署一分不公开协议。
L、授权:
  客户会拥有站点所有的原代码吗?客户以后有权修改站点的原代码吗?
M、意外终止的解决:
  如果在项目进行中某一方因为什么原因而中断了工作,那将怎么办?谁来赔偿?赔偿多少?如何计算?
N、责任的承担:
   如果有人在站点发布后状告站点的某一篇文章侵犯了他的版权,那么责任有谁来承担?谁来赔偿?
O、开发地位的说明:
   当网站开发成功,客户发布给大众的时候,是否说明你在开发中所起的作用和角色等等。

  总之,在项目开发中项目小组和项目经理的确定最根本的目的是使项目按时、保量的、低风险、低成本的得以完成。

 

原创粉丝点击