深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

项目开发团队和项目生命周期(一)


2015年1月21日 作者: 来源:

    项目开发团队和项目生命周期

  本章立足于从头至尾建立第一个成功的项目。本章从阐述一个技术架构师是什么、一个架构师应该作甚么以及一个架构师如何与团队成员合作开始,然后着眼于一些可供选择的开发过程。成功创建一个项目的标准过程并不存在,所以许多公司选择的是采用混合的方案。

  项目开发团队: 角色与职责

  所有的J2EE开发团队都需要具有各种不同技能的成员来满足团队中不同角色的需要。在众多技能角色中,下面这些是使一个J2EE项目获得成功所必须的:

  ▲ Technical architect

  ▲ Project manager

  ▲ Business analyst

  ▲ Layout designer

  ▲ Presentation-tier developer

  ▲ Business logic developer

  ▲ Data modeler

  ▲ Database administrator

  ▲ Data migration specialist

  ▲ Infrastructure specialist(system administrator)

  ▲ Testing specialist

  在有的组织中,这些角色有不同的名称。例如,有些机构中基础设施专家被叫做系统管理员;一个测试专家被叫做测试员,或者有些机构将测试工作管理者和单独的测试员区分开来。不管这些角色叫什么,备齐这些角色会使你的J2EE项目更容易获得成功。

  更进一步,一个人担任多个角色是可以的,如果项目足够庞大,多个人分担一个角色也是允许的。有些组织合并了技术架构师和项目经理的角色。也有些组织让一个资深开发者同时担任数据库管理员或者系统管理员。或者师同一个开发者既忙于表现层工作也忙于商业逻辑层工作。在这里我不是推荐该如何组织一个开发团队,而仅仅是想交流一下个合理的J2EE项目团队中,应该设置哪些职能角色。

  技术架构师(Technical Architect)

  ▲ 技术架构师应确定项目需要用到哪些技术

  在许多组织中,一些技术的选择是企业级行为。例如,许多组织有既定的硬件平台选择和软件平台选择(例如,J2EE容器提供商)。通常,选择什么编程语言,例如Java,是企业级行为。

  不过,绝大多数应用都有尚未在企业级明确约定或选择的技术需求。在这里,我区分了企业行为进行的技术选择和个人行为进行的技术选择。例如,决定在服务器端使用Java作为编程语言可能是企业明确约定过的要求,但是确定用哪个XML解析器,还是可能要由负责该应用的架构师来决定的。许多组织中,进行企业级行为的技术选择的人员和J2EE开发团队人员并不是同一批人。技术架构师通常负责选择用于项目开发的第三方开发包和实用工具,如XML的解析工具包的选用,是否使用Hibernate,Struts等。

    ▲ 技术架构师推荐开发方式和项目技术框架

  一般来说,项目架构师向项目经理针对这些提供推荐和建议。例如,技术架构师建议项目经理将所有需求分析结果用UseCase 完整描述,并最好附有原型示例;或者建议设计文档使用对象化描述方式进行文档化等。

  ▲ 技术架构师提供从头到尾的设计和应用结构

  不同开发者给项目带来不同的先入为主的观念、习惯和选择。技术架构师扮演乐队指挥的角色,统一矛盾之处,保证不同开发者的成果能够很好的融合在一起。也就是维持整个项目的概念完整性和同一性,达到和谐。

  ▲ 技术架构师保证项目被良好的定义

  项目的分析必须详细一致,概念统一,能为构建应用提供良好的基础。技术架构师通常要和项目经理、业务分析员一起合作定义项目。

  ▲ 技术架构师保证应用的设计被适当的文档化

  在项目团队的开发者之间建立良好沟通的关键步骤是写好应用的设计文档。写文档的具体过程强迫架构设计师充分详细地考虑设计中的问题。形成的文档也可以保证在改变和增加项目团队成员时,不占用技术架构师的时间。对于开发者来说,应用设计文档可以使得在技术架构师短时间缺席的情况下,工作能够继续良好开展;并且可以在不占用其它团队成员时间的情况下,解决应用设计中的冲突或矛盾。文档还可以将人员流动的影响和项目分离开来。

  如果没有文档支持,项目团队新增成员,需要技术架构师口头传授设计给新人,必须通过口头交流设计,弱化了新增成员带来的好处。

  ▲ 技术架构师应该建立编码规范方针

  因为不同的开发者有编码偏好;编码标准需要颁布,这样不同人编写的代码片断更容易糅合在一起。通常,系统架构师负责建立的编码规范方针包括下面几方面的内容:

  Exception handling

  Logging

  Testing

  Threading

    ▲ 技术架构师为项目经理识别和分解任务

  在J2EE项目中,这个作用尤为重要,因为J2EE项目往往比一般系统项目牵涉更多的技术层面。另一方面,帮助项目经理做估算和计划,也需要架构师提供项目主要任务的划分情况。

  ▲ 技术架构师为困难任务向开发者提供监护

  如果开发者因困难的任务而放缓进度,通常是技术架构师帮助提供解决方案。技术架构师更多的是提供监护而不是亲自操刀去做实现。

  ▲ 技术架构师应贯彻编码规范的实施

  作为编码规范的制定人,技术架构师最可能在编码规范没有被遵照时及时发现问题,因此应该担负贯彻执行编码规范的任务。项目经理通常关注的是开发任务的完成与否,而不是实现任务的代码是否遵照了编码规范。

  直接审核代码是非常好的手段之一。如果团队成员审核代码的话,任何开发者都很难绕开团队开发代码规范。

  代码审核机制还是团队成员互相学习编码技巧的上好手段。技术架构师在这个过程中发现设计缺陷和漏洞,所有参与者从其余的团队成员学习编码手段和技巧。团队中最富经验的和架构师帮助和指导代码审核。为取得最好效果,代码审核应该在和谐友好的气氛中进行。

  ▲ 系统架构师应该为项目经理在项目估算方面提供的帮助

  虽然项目成本和收益的估算通常是项目经理的职责,但是许多项目经理在J2EE技术体系方面经验不多,无法觉察到项目中所有应该做到的事情。

  ▲ 系统架构师应该在如何确定开发者定位方面向管理者提供帮助

  虽然人员使用和任免通常是管理范畴的事情,但技术架构师更能适合评价技术水平和价值。不正确的人员任用会对项目时间线造成相当大的损害。

  项目经理(Project Manager)

  项目经理负责协调安排项目开发团队的所有任务。项目经理还要针对当前项目的事务和状态向管理层和最终用户代表做好沟通。甚至,项目经理还需要收集项目或项目团队所需的各种资源。技术架构师负责向项目经理提供技术方面的建议和指导。技术架构师还协助项目经理明晰必须完成的项目任务分工和和必须遵照的任务次序;以及帮助项目经理对项目所需资源和条件进行识别,包括项目团队成员的选择,从技术角度确认他们的技能是否适合。

    业务分析师(Business Analyst)

  业务分析师负责面向最终用户,定义应用的需求-设计和创建应用所需要的需求细节。因为最终用户和开发者通常使用不同的术语,业务分析师还需要承担最终用户和开发者之间的翻译转换工作。通常一个业务分析师应该应该具有用户端的经验和开发者的经验。

  随着项目进程不断向前,业务分析师的任务和角色功能逐渐弱化,但是并没有消失。开发者通常会在代码实现逐渐明朗,测试活动逐步开展的过程中附带提出一些细化的业务逻辑问题。业务分析师需要针对这些问题向用户方面寻求答案。

  技术架构师负责确认业务分析师定义的应用需求是适当的,满足开发和设计需要的。期望百分百的分析都能完成且正确,是没有道理的。毕竟,分析工作本身在一些程度上就是主观的东西。但是,分析的结果起码足够保证设计阶段的工作能够顺利进行。


  


阅读:2858 上一则:软件设计师历年真题下载 下一则:项目开发团队和项目生命周期(二)

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训