




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章组织,退出,11.1民主程序员组11.2主程序员组11.3现代程序员组11.4软件项目组11.5摘要,11.1民主程序员组有两种极端的组织程序员组的方法,分别称为民主程序员组和主程序员组。本节介绍民主程序员组,下一节介绍主程序员组。的民主程序员小组的基本概念是“无私编程”。、必须改变评估程序员价值的标准,每个程序员都应该鼓励团队中的其他成员找出自己代码中的错误。不要认为出错是件坏事,但这是正常的事情,在模块中发现错误是一种胜利。没有人会嘲笑程序员犯的编码错误。总体而言,程序员团队将培养平等的团队精神,并坚信“每个模块都属于整个程序员团队,而不是某个人”。一群无私的程序员将组成一个民主的
2、程序员群体。民主程序员群体的一个重要特征是,其成员完全平等,享有充分的民主,并通过协商做出技术决策。因此,团队成员之间的沟通是平行的。如果一个团队有n个成员,就有n(n-1)/2个可能的沟通渠道。一般来说,在,编程团队的规模应该相对较小,最好有2 8名成员。如果项目规模很大,一个团队不能在预定的时间内完成开发任务,那么应该使用多个编程团队,每个团队应该承担项目的部分任务,并在一定程度上独立完成自己的任务。系统的总体设计应该能够确保由每个团队开发的部件之间的接口被很好地定义并且尽可能简单。、团队规模小不仅能减少沟通问题,还能带来其他好处。例如,很容易确定群体的质量标准,而民主方法确定的标准更容易
3、为每个人所遵守;团队成员关系密切,可以互相学习。民主程序员小组通常采用非正式组织,也就是说,虽然有一个名义上的团队领导,他和小组中的其他成员完成同样的任务。在这样的小组中,要做的工作由整个讨论决定,并根据每个人的能力和经验分配适当的任务。在,为了让少数有经验和高技能的程序员在软件开发过程中发挥更大的作用,编程团队还可以采用下一小节中介绍的另一种组织形式。、11.2美国IBM公司的主程序员组在20世纪70年代初开始采用主程序员组的组织模式。这种组织模式主要是出于以下考虑:的大多数软件开发人员相对缺乏经验;在的编程过程中有许多事务性任务,例如存储和更新大量信息;在,多渠道沟通非常耗时,而且会降低程
4、序员的工作效率。由、贝克描述的典型主程序员组如图11.1所示。这个小组由主程序员、后备程序员、编程秘书和1 3名程序员组成。必要时,该小组由其他领域的专家(例如法律专家、金融专家等)协助。)。、图11.1主程序员组的结构、11.3现代程序员组中,实际的“主程序员”应由两人担任:一名技术负责人,负责该组的技术活动;负责所有非技术管理决策的执行官。这种组织结构如图11.2所示。、图11.2现代程序员组、因为程序员的数量不应该太大,当软件项目规模较大时,程序员应该分成几个组,采用图11.3所示的组织结构。此图描绘了技术管理组织的结构,与非技术管理组织的结构相似。从图中可以看出,产品的整体实现是在项目
5、经理的指导下进行的。程序员向团队领导汇报,而团队领导向项目经理汇报。当产品规模较大时,可以提高中间管理水平。、图11.3大型项目的技术管理组织结构、结合民主编程器组和主控编程器组优势的另一种方式是酌情采用分散决策方法,如图11.4所示。这有利于形成顺畅的沟通渠道,从而充分发挥每个程序员的积极性和主动性,集思广益,克服技术难题。这种组织对于适合采用民主方法的问题非常有效(例如,研究项目或技术问题需要用集体智慧来解决)。图11.4包含分散决策的组织模式。如前所述,程序员组的组织模式主要用于实现阶段,当然,它也适用于软件生命周期的其他阶段(考虑到应用范围更广,将程序员组改为软件项目组更合适)。本节从
6、更广阔的角度进一步讨论软件项目团队的组织。、11.4.1三种组织方法曼泰提出了以下三种项目组的一般组织方法。的民主分权(DD):这个软件工程团队没有固定的负责人,临时任命“任务协调员”,由协调其他任务的人代替。通过所有团队成员的共识,对问题和解决方案做出决定。团队成员之间的沟通是平行的。、受控分散(简称CD):这个软件工程团队有一个固定的负责人,负责协调特定任务的完成,并指导负责子任务的下属领导的工作。解决问题仍然是一项小组活动,然而,解决方案是通过组长在小组之间划分任务来实现的。子组和个体之间的通信是并行的,但是在控制层的上层和下层之间也有通信。受控集中(CC):组长管理顶层问题解决流程,并
7、负责团队内部的协调。领导者和团队成员之间的沟通是分等级的。在选择软件工程团队的结构时,应该考虑以下七个项目因素。待解决问题的难度;将在开发的程序的规模(通过代码行或功能点衡量);团队成员一起工作的时间(团队生活);问题的模块化程度;对将要开发的系统的质量和可靠性的要求;交货日期的严格性;项目要求的社会(沟通)水平。表11.1总结了项目特征对项目团队组织模式的影响。集中式结构可以更快地完成任务,最适合处理简单的问题。分散的群体比个人能产生更多更好的解决方案,他们更有可能成功解决复杂的问题。因此,CD或CC组结构可以成功地用于解决简单的问题,而DD结构适用于解决困难的问题。集团的业绩与必须进行的沟
8、通量成反比,因此在开发大型项目时最好采用抄送或光盘结构。集团的寿命影响着集团的士气。经验表明,DD团队结构能够带来更高的士气和更高的工作满意度,因此它适用于寿命较长的团队。、DD组结构最适合解决低模块化的问题,因为它需要更多的通信来解决这种问题。如果CC或CD结构能够实现高度模块化(人们自己做自己的事),那么它更合适。的人们已经发现CC和CD团队比DD团队有更少的缺陷,但是这些数据很大程度上依赖于团队采用的质量保证活动。对于来说,要完成同一个项目,分散式结构通常比集中式结构需要更多的时间,但分散式结构最适合需要高度社会性的情况。历史上最早的软件项目团队是集中控制(CC)结构。当时,人们称这个软
9、件项目团队为主程序员团队。、11.4.2四种组织范式康斯坦丁提出了软件工程团队的以下四种“组织范式”。封闭模式:按照传统的权力等级组织项目团队(类似于光盘团队)。当开发类似于过去已经完成的产品的软件时,这种项目团队可以很好地工作,但是在这种封闭的模式下很难进行创新工作。的随机模型:项目团队组织松散,团队工作依赖于团队成员的个人主动性。当需要创新或技术突破时,由随机范式组织的项目团队可以很好地工作。然而,当需要“按顺序执行”来完成任务时,这样的项目团队可能会遇到麻烦。开放范例:这种范例试图以一种创新的方式来组织项目团队,这种方式既可以控制封闭范例,也可以控制随机范例。通过大量基于共识的协商和决策,项目团队成员相互合作完成任务。由开放范例组织的项目团队适合解决复杂的问题,但是他们可能不如其他类型的团队高效。同步范式:根据问题的自然划分,项目团队成员被组织起来解决一些子问题,他们之间很少有积极的沟通需求。、11.5总结,对于任何软件项目来说,最关键的因素是承担项目的人员。为了使项目团队具有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业有机废气净化设备项目建议书
- 2025年金华市文物保护与考古研究所招聘考古人员考试试题【答案】
- 宁波甬山控股集团有限公司招聘笔试真题2024
- 北京京水建设集团有限公司招聘笔试真题2024
- 2025年内蒙古自治区政务服务局下属事业单位招聘考试笔试试题【答案】
- 项目团队绩效评估方法
- 检察参考资料机关介入安全事故调查之思考
- 消防员合同协议书范本
- 项目部水利水电施工企业安全生产标准化评审标准内容分工
- 未来教室中的营养健康智慧方案研究报告
- DGJ08-81-2015 现有建筑抗震鉴定与加固规程
- 房屋租赁合同范本15篇
- 2025至2030年中国飞行控制器行业市场供需态势及未来趋势研判报告
- 2025年汽车维修工职业资格考试试卷及答案
- 安全B证题库-安全生产知识考试用书
- 2025至2030年中国锦氨纶汗布市场分析及竞争策略研究报告
- 2024年江苏地质局所属事业单位招聘考试真题
- 2025年湖北省中考物理试题(含答案及解析)
- 几何画板 培训课件
- 经皮肺动脉瓣置换术(TPVRPPVI)
- 中兴-5G-A高频毫米波网络规划方法论介绍V1.0
评论
0/150
提交评论