看了小山高手的全面攻略,感觉他确实在实际中积累了很多经验。我这边团队目前采用的是也是类似于小山高手所说的方式2。以前asp阶段确实与美工配合很烦,而现在asp.net有了代码与界面分离的有利机制,一切问题就都可解决。我自己摸索下来感觉小山之方式2将来更能使团队发挥好,但需要更科学合理地来分角色,做到各司其职,才能避免陷入作坊式开发。
我就大致描述一下我的项目团队(算上美工5人)在这方面的情况:
首先,介绍角色:
1.项目组长:相当于项目经理吧,主要职责我就不多说了。
2.界面工程师:是用户界面交互方面的专家,决定与用户交互的方式,当然很大程度也影响着界面
3.美工:设计和美化界面
4.高级程序员:设计总体程序结构,制定技术上的规范,并为小组解决各种难题,帮助项目组长分解每日程序员任务
5.程序员:编写代码,实现功能
6.需求人员:与本话题无关,我就不介绍了
7.公关人员:虽然与本话题无关,但我就想在这里突出其对项目组的重要性,所以顺便提一下。至于要攻什么关大家一定都能猜得出来。
8.其他,如测试人员、文档管理人员等(想象能有plmm角色):都很重要,但也与本话题无关。
工作流程:
1.公关人员和需求人员获得用户需求,并制定需求文档。
需求的正确与否是项目成功的首要关键环节,这个我就不多说了,和本主题相关的就是他们需要获取到用户的各种习惯层次上,主要分为两种思路来整理,一种是之前用过软件系统的考虑如何延续他们的习惯,另一种是之前没有用过软件系统的考虑如何适应他们原有手工的工作流程,并作出合理化的改进。
2.项目组长和需求人员以及高级程序员共同根据需求制定大体的设计方案,包括总体模块和各个可行性功能。
在这里,项目组长会根据需求人员和高级程序员的意见来合理安排出一个基本雏形,然后去写Project2003(我觉得这个蛮不错)...后面还有反复交复雏形给用户确认等等我就不介绍了。有一点值得注意的是,项目组长除了需要具备一定的人员管理方法以外,最好还是要懂得技术,这样能够制定出更合理、更准确的项目进度,也能带动团队工作的士气。个人认为项目经理的技术水准应该在高级程序员之上,不然在这个环节中就只能听取高级程序员的意见了,相信大家如果遇到个不懂技术的项目经理,而他又指责你技术水准有问题时,一定都会自然而然地产生想K他一把的冲动,这样的团队还能保持好的士气么?技术人毕竟还是需要以能耐服人来得好。
3.开工,项目组长在高级程序员配合下根据预先计划开始推动项目进展。
这里是关于本主题的主要环节,首先由项目组长和高级程序员在上一环节设计的雏形的基础上按照计划规划架设各模块的基本结构。然后以模块为单位,我这边团队喜欢采用我们称之为狼群战术的方法来逐步蚕食各个模块,每个模块的流程分为如下几个步骤
a.高级程序员详细化拆分该模块的各个界面和功能,包括前台和后台等。需要需求人员给出参考
b.在高级程序员的分配下,界面工程师对当前子模块制定界面用户交互的基本方案,也需要需求人员给参考,美工人员则给出美学方面的建议,并达成一致。在这里,界面工程师会将决定界面的大致框架,并将界面相应的功能描述成文以用于给程序员,一个子模块界面的雏形在这里已经诞生,生成的程序文件有aspx和(vb或cs),建议界面结构最好用表格来设计。
c.美工去做界面,对界面工程师所搭建的界面框架aspx或ascx文件进行处理,如背景、需要配合的图片图标及flash等。在这里环节上,美工已和界面工程师已经在明确需求人员的指导下达成对界面统一风格的一致。因为界面工程师在之前已经在页面中制定好标记,所以美工可以忽略有脚本标记的地方。而且,总的来说这一环节上美工主要是预先为界面定义好各种素材。
d.与美工并发执行的是高级程序员与程序员对功能的实现。程序员们在界面工程师的指导下将功能实现,其间包括满足交互功能所需的控件、业务规则层、数据访问层,等等的实现,所涉及编写的文件则为界面文件(ascx等)和程序文件(vb或cs)。这里需要说明的是在实现功能时程序员只要把满足功能的控件拖到大致位置就可以,然后就关注功能的实现。而此时美工也在设计该界面,但因为只是设计素材,所以根本不与程序员冲突,在后面的环节中始终以程序员完成的程序文档为准。
e.程序员完成功能后,转交测试人员进行功能测试。。。
f.基本测试通过后,又回到界面工程师手里,在不改动程序文件(vb或cs)文件的前提下,界面工程师只对界面文件中的各种控件、结构等进行调整。达到满意的效果为止。
g.界面基本已经诞生,只是全裸不太文雅,所以这时回到美工手上,给其穿上美工设计的靓装,加上各种图片背景等就ok了
h.补充一下项目组长,贯穿整个过程,负责团队人员之间的协调,监督项目进度,合理分配任务,看谁不干活就。。。
4.所有模块都完工后,就是整体的衔接和测试,然后反复交复用户征求意见,这里参与的是团队所有的人马,一直忙到最后期限为止,然后再延期,直到用户满意。
以上是我所在团队的大致工作流程,大家看了后一定会提出如此分角色人手资源一定不够的问题。确实,通常来说小公司的开发团队就几个人,所以通常很容易做着做着就陷入作坊式做法,大家角色不明确,各自包办各自的模块,导致之后程序维护非常困难。我上面所述的工作流程中每个环节都明确指出了每个角色的出现场合,所以我是很强调以角色来分工。但如我前面所提到的,我这边的团队也不过5个人,所以,虽然角色众多,但我们还是可以根据各自的团队实际情况来分担这些角色,只要记住一个原则,找合适的人去做合适的角色,即担当某一角色的人是对该角色领域感兴趣的人。比如在我的团队中,美工是对艺术美感感兴趣,我团队的美工是plmm,可惜只是兼职,没太多机会,建议大家有条件就找plmm来担任。需求人员是对整体业务有兴趣的人,我这里的需求人员是办公室头,所以向上和外界的公关都是由他搞定。还有两个是程序员角色,一个偏向于底层数据库的实现,另一个偏向于逻辑层的实现,而最后我则是很痛苦地担当了项目组长、界面工程师、高级程序员的角色。之所以这样,也是无奈,因为团队组建才半年不到,两个程序员尚不能胜任更高级的角色,期望其中一个人能尽快胜任界面工程师角色,那样就能做到更合理化的角色分配,是理想的团队结构。
网站开发的分工合作
最新推荐文章于 2021-04-13 19:01:16 发布