版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、构建高效的软件开发流程和团队,进入,目 录,1. 极限编程(Extreme Programming) 2. 如何构建高效软件开发流程和团队,什么是极限编程 极限编程Extreme Programming 业内人简称为XP,不要把XP与Windows XP联系在一起。它们没有很大的关系。XP = (eXtreme Programming) 中国给它一个很酷的名字“极限编程”。 XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。,XP适
2、用于需求经常发生变化的项目 你的客户对系统应该做什么可能没有一个固定的想法;一个系统每隔几个月其功能就要求进行一定的改变。大多数软件项目的需求都处于这样的动态变化之中。 XP适用于高风险的项目 如果客户需要一个新的系统,而且要求在某天前完成,这里的风险就比较高;如果你的开发组没有做过类似的系统,风险就更高了;使用XP可以降低风险和增加成功的可能性。 XP适用于小规模的项目组 一般在2到10人之间。使用XP不需要拥有博士头衔的开发人员,一般的开发人员就可以。但不能在一个大型的项目组中采用XP。我们注意到,对于一个需求动态变化和高风险的项目而言,一小组XP开发人员要比大的开发组更加有效。 XP对可
3、测试性有要求 你必须建立自动的单元测试和功能测试。虽然在某些情况下这个要求不能满足,但事实上你会惊讶地看到通过某种方式仍然可以达到这个要求。 XP对生产力也有要求 所有采取XP的项目组都无一例外地比其它项目组的生产力高。但这从来不是XP的目的。XP的真正目的在于按时交付客户需要的软件。如果这对于你的项目而言很重要,你就可以尝试一下XP。,How do we deliver functionality to business clients quickly? How do we keep up with near-continuous change?,如何能快速地向商业用户交付功能?,如何才能跟
4、上近乎连续的变化?,计划的制定 小版本 隐喻 简单的设计 重构 测试 结对编程 代码共享 每周只干40小时 编码标准,计划的制定 迭代式项目的特点、每三周为一个循环,频繁地更新,按优先级划分任务与技术。 小版本 所有的大的项目都可以被分为局部的、小的步骤。实现渐进式发布。 隐喻 XP使用隐喻定义一个从开发者到商业客户都可联系的全面一致的主题。 简单的设计 1、为已定义的功能进行设计,而不是为潜在地未来可能的功能进行设计 . 2、创建最佳的可以实现功能的设计。换句话说,不用管未来会是怎样,只创建一个目前为止可以实现的最好的设计。“只有在你真正需要的时候才去做” 。,重构 XP原则应当保持持续设计
5、。当变化既快而且频繁的时候,应投入更多的精力于重构之上 。 测试 先测试后编码 、单元测试和功能测试 1.单元测试 (这是软件开发的“圣杯”。) 单元测试是从程序员的角度编写的。它确保类的某个特定方法成功执行一系列特定的任务。每个测试都确保只要给定输入,方法将输出预期的结果。 2. 功能测试 功能测试是从用户的角度编写的。这种测试确保系统执行用户期望它执行的工作。 结对编程 互相检验对方的代码.,代码共享 项目组中的每个人都可以在任何时候修改其他项目成员的代码,这就是XP中所定义的代码共享 。 诸如“我不想让那些笨蛋改我的代码”,“出现问题我应该怪谁?”等等。共享代码从另一个层面提供了对配对编
6、程中协作的支持。 经常集成 经常周期性的构造(build) 。 XP提醒我们有可能有严重的集成错误。 每周只干40小时 Jeffries提供了关于加班的思索:“我们说的是加班被定义为我们不想在办公室的时候呆在办公室。而且不应当加班超过一周。如果你超过了,就有什么东西出了问题由于你过于劳累,有可能比你按时下班干的还差。 在我们年轻和满身干劲的时候,这也许没问题。值得注意的是拖沓的一周又一周。,现场客户: XP,同其他的快速开发一样,要求客户在现场持续地参与到项目组中。 编码标准: 一个团队应有相应的一个编码标准。例如,如果你进行配对编程并让他人修改共有代码,那么编码标准看起来就是必须的。,如何构
7、建高效软件开发流程和团队,项目计划 BUG数据库是计划一种参照。 合理的计划(个人 组长 管理层 ) 尽力按照这个开发进度来执行 重新计划 1. 轻型的 (XP原则,周期性(三周)的变更计划) 2. 灾难的 (20%的工作量会占据80% 发生时),如何构建高效的开发环境 项目计划,开发文档 整理思路与架构、磨刀不误砍柴工 Function Spec 中需要写明的是本模块完成的任务,解决什么问题,有什么作用,为什么要这些功能,此外我们还会添加进适用范围,有什么不足,注意点是什么,还有哪些地方在以后可以进行改进。 Design Document 主要描述实现此模块所涉及到的主要算法、数据结构、类的
8、层次结构及调用关系。,如何构建高效的开发环境 开发文档,编写代码 统一的代码风格 提供详细的注释及说明 主要的模块要编写UnitTest,如何构建高效的开发环境 编写代码,代码管理 源代码的统一管理。 daily build,如何构建高效的开发环境 代码管理,BUG管理 通过BUG Tracking System 管理Bug库。 测试部门发现一个BUG后在BUG Track中增加一个BUG,同时填入相关信息并assign给相应的开发人员,开发人员收到BUG分析并fix后assign给测试部门去verify,其中要填上分析的结果以及如何解决的详细说明。若测试部门对此BUG verify通过则cl
9、ose BUG,如果verify failed并重新assign给开发人员并等待其fix。 测试部门发现BUG后,开发人员应马上改正。 周期性汇报BUG情况。,如何构建高效的开发环境 BUG管理,Code Freeze 在code freeze阶段,测试部门在紧张地进行着各种测试,得出各种数据,并决定本版本是否可以release了。,如何构建高效的开发环境 Code Freeze,Code Review Code Review中大家会提出问题和建议,集思广益,多个人共同出主意,有些可能一个人没有想到的问题会被大家发现,互相学习,共同进步。,如何构建高效的开发环境 Code Review,Tech Talk 计算机知识更新速度非常快,经常有一些新的术语、新的名词、新的思想、新的技术所产生,如过离开此行业几个月后重新回来就会对这些新的事物不解,而我们平时为了自己的项目埋头苦干可能忘了周围的世界发生了什么。Tech Talk
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省揭阳市产业园区重点名校2026年初三下学期四月调研测试语文试题含解析
- 人力资源管理模板库及员工培训计划制定器
- 乡村帮贫扶弱承诺书5篇
- 人力资源发展规划模板行业
- 物流管理人员提升供应链管理效率指导书
- 坚守信用的承诺书6篇范文
- 新型城镇化发展成果承诺函(8篇)
- 家校共育质量提升承诺书(4篇)
- 现代制造业技术创新责任书(9篇)
- 创新驱动科技持续进步承诺书范文6篇
- 精神病院护士责任制度
- 高中主题班会 大美二中你我共建课件 湖南省常宁市第二中学高二上学期校园环境卫生建设主题班会
- 2026年宁夏石嘴山市单招职业倾向性测试题库带答案详解(预热题)
- 2026四川成都成华区智慧蓉城运行中心招聘编外人员4人笔试备考试题及答案解析
- 2026年小升初测试题数学及答案
- 八年级下册12诗经二首《关雎》公开课一等奖创新教学设计
- 关于组织2026年春季新员工入职培训的通知函9篇范本
- 医疗设备维修与维护技术手册(标准版)
- 部编人教版道德与法治五年级下册全册配套课件
- 中国邮政理财考试试题附答案
- 2026年江西电力职业技术学院单招(计算机)考试参考题库附答案
评论
0/150
提交评论