[3-21]论web项⽬⼩组的流程以及成员该如何组成
⽹上看了⼏篇⽂章,⼤概了解了⼀下web项⽬开发的流程,重新组合⼀下。
第⼀:开发流程
1、项⽬的⾓⾊划分
如果不包括前期和后期的市场推⼴及销售⼈员,开发团队⼀般可以划分为项⽬负责⼈、程序员、美⼯三个⾓⾊。项⽬负责⼈习惯称为项⽬经理,负责项⽬的⼈事协调、时间进度等安排,以及处理⼀些与项⽬相关的其他事情。程序员主要负责项⽬的需求分析、策划、设计、代码编写、⽹站整合、测试、部署等环节的⼯作。美⼯负责⽹站的界⾯设计、版⾯规划,把握⽹站的整体风格。如果项⽬⽐较⼤,可以按照三种⾓⾊把⼈员进⾏分组。⾓⾊划分是Web项⽬技术分散性甚⾄地理分散性等特点的客观要求,分⼯的结果还可以明确⼯作责任,最终保证了项⽬的质量。分⼯带来的负效应就是增加了团队沟通、协调的成本,给项⽬带来⼀定的风险。所以项⽬经理的协调能⼒显得⼗分重要,程序开发⼈员和美⼯在项⽬开发的初期和后期,都必须有充分的交流,共同完成项⽬的规划和测试、验收。
2、开发⼯具的选取
不象C/S结构程序开发,可以⼀门语⾔从头到尾,你⽤Delphi,就是Delphi程序员,你⽤VC++,你就是V
C程序员。B/S结构的Web开发⼯作,⼯具的选择是⼀件痛苦的事情。从Windows到Linux,从IIS到 Apache,从J2EE到 .NET,从EJB到COM到.NET组件……还有 Asp、Asp、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、法律顾问:
php的工作流程 法律顾问的⾓⾊是项⽬规范化和法律有效化的有⼒保证。在与客户坚定项⽬协议或者是合同的时候,国内很有⼀些公司都没有规范的条款⽽是按照仅有经济经验来进⾏的。所以常常造成项⽬过后这样那
样的问题,甚⾄是官司不断。可见法律顾问⾓⾊的重要性。法律的问题ewan也不太懂,为此特别请教了客户服务部的同事们(ewan的公司就没有法律顾问的⾓⾊。呵呵)。总结了⼀下,⽹站开发⼩组在与客户间的承包对话中可能涉及的条款有以下⼀些,供⼤家参考:相关法律:《知识产权法》、《合同法》、《⼴告法》、还有关于企业间竞争的法律。
详细条款:
A、达成“完成”的⼀致概念:
和客户⾸先要在什么是“项⽬完成”上达成⼀致。⼀般是把⼯作记录或者需求⽂档作为协议的⼀部分。
B、修改规范的过程:
在项⽬的进⾏中,项⽬的规范中肯定会不断加⼊新的概念,⼀般来说这些新加⼊的概念应该累积到原始规定的⼯作完成为⽌。根据实际的情况和客户协商并给予修改。(阿捷以前的⽂章在这个环节讲的很清楚。)
C、站点提交⽅式:
站点完成后项⽬⼩组是把站点安装在客户的服务器上⾯还是开发者的服务器上⾯?还是⽤其他⽅式交给客户。
D、开发过程中谁提供东西:
为了避免以后的⿇烦,在开发前就应该明确规定,谁提供艺术的那⼀个部分?谁来撰写⽂稿?谁来提供参加负载测试过程的⽤户?如果客户不在给定的时限内提供答应了的东西将怎么办?
F、费⽤和付款:
项⽬有⽆与预付款项吗?有进度奖⾦吗?现⾦可以贴现吗?超出的花费可以补偿吗?
G、项⽬延迟的后果:
如果站点没有按时完⼯,将会发什么?是否有损失?将会引发其他的特别事件吗?以及如何计算延迟损失?
H、税务问题:
此类项⽬适⽤于那种税率?项⽬款项中的税应该那⼀⽅付?等等
I、产权归属:
谁拥有最终的产品?如果是客户拥有,那么什么时候才算“拥有”?注意这个是⾮常重要的。
K、关于机密问题:
有时候因为客户的特殊性(如财务公司),在开发过程中开发⼈员会接触到客户公司的详细内部信息⽐如财务数据等等,这个时候需要签署⼀分不公开协议。
L、授权:
客户会拥有站点所有的原代码吗?客户以后有权修改站点的原代码吗?
M、意外终⽌的解决:
如果在项⽬进⾏中某⼀⽅因为什么原因⽽中断了⼯作,那将怎么办?谁来赔偿?赔偿多少?如何计算?
N、责任的承担:
如果有⼈在站点发布后状告站点的某⼀篇⽂章侵犯了他的版权,那么责任有谁来承担?谁来赔偿?
O、开发地位的说明:
当⽹站开发成功,客户发布给⼤众的时候,是否说明你在开发中所起的作⽤和⾓⾊等等。
总之,在项⽬开发中项⽬⼩组和项⽬经理的确定最根本的⽬的是使项⽬按时、保量的、低风险、低成本的得以完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论