说到为什么我喜欢在实验室推广XP,我们先来看看几个软件过程
首先是RUP,RUP有什么特点呢?迭代性开发,用例驱动,使用UML对软件建模,提倡事先设计好以组件为核心的体系结构(以体系结构为中心),不断的评估和测试软件质量,(使用用例)控制软件的变化。在这些原则的基础上,把软件人员分成各种角色(分析,开发,管理,测试,工具支持,配置)等等,在软件开发过程中的各种产品叫做工件(Artifact)。
再看TSP,TSP把人员分成小组领导者、开发经理、计划经理、质量/生产经理,以及技术支持经理(注意这点和RUP的雷同),要求各个人员严格记录在软件开发过程中的每一步,比如程序的Bug率,使用的时间等等。
最后一个是XP,XP的特点,双人编程,简单用例(User Story),Refactoring,以周为基础的迭代。持续集成,现场客户,测试驱动,自动化测试,代码同步。同样的,XP也把人员分成测试,交流人员,设计师,技术作者,客户,程序员等等。
OK,说了这么多长篇大论,是为了把几个软件过程拿出来比较。所有的软件过程无非是为了避免风险,保证项目的成功。
拿交通工具做比方的话,TSP就好比坐火车,由于TSP是CMM那帮子人搞的,所以TSP不强调迭代性开发。TSP强调的是质量管理和控制,通过每个人自觉自愿的记录每天的行为,从而的得到严格的项目的数据,缺乏了这种严格控制,TSP就好比火车没有轨道,一点用处也没有。而在我们实验室一帮懒懒散散的学生中搞数据,要他们每天填表,从而知道项目消耗了多少人时,Bug率为多少,不要做梦了吧,所以TSP那套方式肯定是行不通的。
再看XP和RUP的差别,迭代性开发,两者都强调,不过两者的含义不同,在RUP中,每次迭代,强调产生的是一个个工件,比如完成了用例。而在XP中,产生的是可用的软件。为什么RUP的迭代里面可能没有产生可用的软件呢?因为RUP强调的是用例驱动和体系结构为中心,所以RUP花在设计体系结构和用例上的时间会比较多,这样带来的好处是软件的后期变更会比较少。而XP本身强调的是拥抱变化,不管三七二十一,先开发出来一个能用的再说,如果客户不满意(别忘了,XP是现场客户),Refactoring之。所以在XP的开头的时候,根本就不提倡太复杂的用例(客户在现场嘛,不懂客户的意思,现场交流啊),也不提倡过多的设计(测试驱动嘛,通不过的话Refactoring之)。
然而RUP没有现场客户的概念,所以清晰的用例描述是RUP中很重要的一环。只有这些用例在客户和团队之间达成了共识,才能做下一步的工作,同样的,需求的变更也必须通过用例来体现,RUP很强调变更管理,就是这个意思。
而在我们实验室做现在这个项目,不是和客户交流的问题,而是没有客户!!!
所以,在这种程度下,我们的用例,不是要让客户理解,而是我们自己理解就足够了。而体系结构,由于你们现在不用考虑分布式,并发,事务等等一系列东西。这些东西都由J2EE做了。
此外RUP在我们实验室很难办的一件事情是对各个阶段产生的工件的质量监控,同学们互相哈哈哈,很难对一个文档性的东西进行评价。
那么要改善我们现在做的项目,最重要的是做什么呢?第一是,小迭代,我们现在整个软件开发周期太长了,应该缩短到2-6周以内。第二,测试,我们现在的测试很多都是手动的,需要自动化这个测试过程。第三是,快速构建,持续集成。整个软件的部署周期不能像现在这么长,不能由同学们手工构建,而必须是自动化的部署。这些都是在XP中强调的。
RUP的不同就好比是做BUS和自己开小汽车的不同,尽管细微,但是,开小汽车更需要小心翼翼的调整方向,而公交车毕竟有线路。
如果在一个大公司做部门经理的话,我更愿意采用RUP那套方式,辅之于XP的各种实践,然而在实验室,我只有退而求其次,因地制宜,XP能推广多少是多少,一些很难推广的东西比如风险管理,BUG管理只能暂时放弃了。
分享到:
相关推荐
TSP团队软件过程参考.pdf
资源包括TSP.即团队软件过程教案 最新版
专业课《团队软件过程》,外教的PPT。一共200多页。
软件过程讲议,依据CMI的标准。 包括PSP(个人软件过程)与TSP(小组软件过程)的关键内容。
大学本科,小组软件过程,tsp,课件,ppt
蚁群算法计算过程 TSP分解过程
团队软件过程(修订版)是美国embry-riddle aeronautical大学为计算机科学系研究生和高年级本科生开设的一门软件工程课的教科书。这本书系统地论述了如何以开发团队的形式来进行软件的开发,并对开发过程作出了具体...
外教的PPT。我们的专业课《团队软件过程》用到的《个人软件过程》
TSP 团队软件过程的表格,文档中已包含了填写说明性文字,方便使用
该平台以CMM,TSP/PSP为核心理论依据,作为一个面向中小型软件企业的软件质量控制平台,它能够有效提高开发效率,帮助企业改进软件过程,并支持企业的软件能力最高达到CMM5级水平。内容包括TSP/PSP相关概念及特点,...
TSP 每个表格模板都包含在内 有week SCHEDULE SUMQ 等等表格 非常详细 减去你做表的头疼,直接填写就行了。
行业教育软件-学习软件-TSP问题算法小软件 3.5.zip
在网上想找一下东芝4轴的TSPC软件一直找不到,自己搞了一个分享给大家,解压开之后直接点击里面的TSPC就可以直接运行!!!
车联网TSP平台软件漏洞分析与安全测试.pdf
TSP问题标准数据集(附最优解)。用于测试算法的优劣及效率等。TSP问题研究必备
TSP(Team Software Process)即团队软件过程,是为开发软件产品的开发团队提供指导,TSP的侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。 TSP被设计为满足2-20人规模的开发团队,大型...
利用matlab软件,应用粒子群算法解决31个城市的TSP问题
软件过程标准注重讲了IEEE1517,CMM,PSP和TSP的有关内容和目标,介绍的详细具体,与企业级很接近的前沿技术手段;软件过程标准注重讲了IEEE1517,CMM,PSP和TSP的有关内容和目标,介绍的详细具体,与企业级很接近的...
TSP贪心算法C++ TSP贪心算法C++
PSO-TSP文件,粒子群算法解决TSP问题,可直接运行,附带数据集