2013/12/171软件工程导论第9章软件工程环境KerryZhuZhu.Kerry@Gmail.com@gmail.com孟母三迁的启发?@gmail.com时势造英雄zhu.kerry@gmail.com9.1环境造就软件9.2软件工程组织9.3软件工程文化9.4软件工程基础设施9.5过程定义9.6过程评估和改进本章内容2013/12/173zhu.kerry@gmail.com本章内容9.1环境造就软件9.2软件工程组织9.3软件工程文化9.4软件工程基础设施9.5过程定义9.6过程评估和改进@gmail.com软环境指软件组织的商业目标、管理制度、质量文化、已定义的开发流程等硬环境指网络设施、开发平台、项目管理系统、软件工具等9.1环境造就软件软件工程环境(SEE)是指在构筑一个新软件时所依赖的条件、工具和基础设施等,包括软环境和硬环境。2013/12/174zhu.kerry@gmail.com软件开发过程模型的不同,如传统的结构化方法、迭代开发模型、并行开发模型、敏捷方法等企业文化的差异,如以客户为中心还是以效率/成本为中心,以架构技术为中心还是以产品为中心、以过程为中心还是以开发团队为中心等人力资源的差异,如组织结构、培训能力和流程等软硬件资源,如机器、网络设备和软件工具等,甚至实际的工作环境软件工具的应用水平和规模,以及软件工具集成化的水平环境的差异性zhu.kerry@gmail.com软件环境框架2013/12/175zhu.kerry@gmail.com本章内容9.1环境造就软件9.2软件工程组织9.3软件工程文化9.4软件工程基础设施9.5过程定义9.6过程评估和改进@gmail.com软件组织环境9.2.2软件组织的作用9.2.3PSP改进个人能力9.2.4TSP提高团队水平9.2.5完整的组织框架9.2软件工程组织2013/12/176zhu.kerry@gmail.com9.2.1软件组织环境组织环境影响,包括管理层、人事制度、内部组织流程以及组织单元之间的关系和协作等zhu.kerry@gmail.com9.2.2软件组织的作用软件质量管理:负责软件产品和软件过程的质量审计、评审活动和质量评估过程改进:定义、解释、组织软件过程评估的流程,提交过程改进计划等。配置管理:软件配置项识别、基线确立、版本控制、变更控制等技术支持信息安全IT网络与设备维。2013/12/177zhu.kerry@gmail.com常见的组织结构例如:SEPG人少,但发挥至关重要的作用zhu.kerry@gmail.comMSF组织角色和责任详见书中表7-12013/12/178zhu.kerry@gmail.com9.2.3PSP改进个人能力个体软件过程(PersonalSoftwareProcess,PSP)帮助工程师测量和跟踪他们自己的工作,使得他们能够找到最适合自己的方法PSP内容丰富,具有良好的实践性,包括个人时间管理、时间跟踪、任务估计、阶段性工作计划等PSP不仅帮助软件工程师提高编码水准、如何管理所开发的程序质量,还指导软件工程师更好地进行需求或过程定义、评审、测试、文档编写等zhu.kerry@gmail.comPSP框架@gmail.comPSP阶段性提升@gmail.com举例:DefectRecordingLogDefecttypePhaseinwhichdefectwasinjected(bestguess)PhaseinwhichdefectwasfoundandrepairedTimetofixdefectIfdefectwasinjectedduringrepairofanotherdefect(e.g.fixdefect)whatfixwasit(bestguess)Note:Adefectisanythingthatmustbechangedfortheprogramtobeproperlydeveloped,enhanced,orused2013/12/1710zhu.kerry@gmail.com举例:PSPStandardDefectTypesDocumentationSyntaxBuildorpackageAssignmentInterfaceCheckingDataFunctionSystemEnvironmentzhu.kerry@gmail.comPSP进一步讨论个体度量过程个体计划过程个体质量管理过程个体循环过程2013/12/1711zhu.kerry@gmail.com什么是团队?zhu.kerry@gmail.com古老的寓言故事非洲的草原:如果见到羚羊在奔跑,那一定是狮子来了;如果见到狮子在躲避,那就是象群发怒了;如果见到成百上千的狮子和大象集体逃命的壮观景象,那时什么来了?蚂蚁军团!2013/12/1712zhu.kerry@gmail.com寓言的启示启示一:蚂蚁是何等的渺小微弱,任何人都可以随意处置它,但它的团队,就连兽中之王,也要退避三舍;启示二:个体弱小,没有关系,与伙伴精诚协作,就能变成巨人;启示三:蚂蚁的精神值得我们永远铭记学习。蚂蚁是最勤劳、最勇敢、最无私、最有团队精神的动物。势如卷席,勇不可挡,团结奋进,无坚不摧---这就是由一个人弱小生命构成的团队力量!这正是团队的价值所在zhu.kerry@gmail.com团队发展的过程隐喻1+1=00<1+1<21+1=21+1>22013/12/1713zhu.kerry@gmail.com团队形成的过程前阶段阶段2震荡阶段3规范化阶段4执行5阶段解体阶段1形成成立期动荡期规范期高产期哀痛期zhu.kerry@gmail.com成立期特征成立期风暴期规范期高效期团队没有形成远景/共同目标团队成员间不熟悉,行为谨慎彼此陌生表现客气友好,没有争论对团队寄予高期望团队成员有困惑和不安全感小心试探周围环境和核心人物团队内开放的沟通显得很困难2013/12/1714zhu.kerry@gmail.com风暴期特征成立期风暴期规范期高效期成员间相互猜忌产生冲突人际关系紧张信息不通,出现混乱对领导权不满目标不清晰人员角色和职权模糊对结果很少甚至缺乏投入缺乏创新对已经作出的决定反复提出质疑zhu.kerry@gmail.com规范期特征成立期风暴期规范期高效期打开沟通之门团队成员之间逐步取得信任建立自己既定的沟通方式和规则建立了工作的规范和流程有了自己的团队语言角色开始清晰成员清晰理解团队的目标团队成员积极地在一起工作成员间了解令彼此之间的关系越来越强成员间接受彼此的性格特征成员间注意倾听相互间的委屈,投诉和建议2013/12/1715zhu.kerry@gmail.com高效期特征成立期风暴期规范期高效期对达成团队共同目标充满信心成员具备多种的技巧,有效互补不足建设性分享不同观点和信息分享领导权,团队成员自我管理,自我激励有强烈使命感和荣誉感清晰了解团队的强处和弱处成员得到充分的成长团队成员间分享经验,感受和建议以增长队员间接的忠诚度团队中的不同意见和争论通过团队规则正面引导zhu.kerry@gmail.com团队特征清晰的目标恰当的领导内部支持应变技能相互的信任相关的技能一致的承诺良好的沟通外部支持有效的团队2013/12/1716zhu.kerry@gmail.com9.2.4TSP提高团队水平如何规划和管理一个软件开发团队。如何制订团队工作所需要的策略。如何定义和确定团队中每个角色的职责。如何为团队中每个成员分配不同的角色。团队及其不同角色在整个开发过程的不同阶段应该做什么,如何更好地发挥作用。在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。采用哪些方法提高团队的协作能力。TSP的流程和规范为团队软件工程提供了一套精心设计的、通过审查的、可重复的框架,并提供了快速高效的反馈机制zhu.kerry@gmail.comTSP的7条原则①提供一个简单的框架,每个人在其中各司其职②把产品的开发分为多个周期③建立标准的评估机制④对小组和组员有准确的评价⑤采用针对角色和小组的评估⑥开发过程中强调纪律性⑦有人提供关于小组协同工作的问题的指导2013/12/1717zhu.kerry@gmail.comTSP结构@gmail.com9.2.5完整的组织框架@gmail.comPSP/TSP/CMM三者关系组织TSP/团队PSP/个人原则指导提供技能组织过程能力成熟度高质量的产品个人的技能提高开发并交付提高zhu.kerry@gmail.com本章内容9.1环境造就软件9.2软件工程组织9.3软件工程文化9.4软件工程基础设施9.5过程定义9.6过程评估和改进@gmail.com9.3.1过程文化9.3.2质量文化9.3软件工程文化zhu.kerry@gmail.com组织的文化共享信念、价值观、设想等组织实践网络中蕴含着组织文化领导行为传播和增强组织文化个体和团队的行为彰显组织文化日常工作完成的方式是可见的2013/12/1720zhu.kerry@gmail.com过程与文化涉及的元素zhu.kerry@gmail.com文化与过程的关系集体分享精神2013/12/1721zhu.kerry@gmail.com过程至上,奉过程为教条,一切围绕着过程,严格执行流程,组织、质量和效率都服从于过程以过程为焦点,关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量和效率、服从于组织的业务目标过程只能起辅助作用,人决定一切。与过程相关的活动被认为是低优先级的,过程可能流于形式,过程容易被打破9.3.1过程文化顾客竞争变化zhu.kerry@gmail.com1.识别文化差异2.文化敏感性训练,加强人们对不同文化环境的适应能力3.创建共同文化过程文化建设三部曲2013/12/1722zhu.kerry@gmail.com当今的过程文化Strictoperationalcontrol-Processre-engineeringBusinessProcessTransformationthroughRationalizationz