JAVA随笔

 

闭环跟踪--提高软件开发质量,推动过程改进

 

闭环跟踪

       --提高软件开发质量,推动过程改进

 

有幸在07524参加Telelogic组织的“闭环跟踪”研讨会。John Carrillo在会上做了精彩的演讲,会议开始就提出了主题“如何提高软件开发质量,推动过程改进”。

 

John提出提高软件开发质量,主要以下三点:

(1)   业务流程优化 BPO (Business Process Optimization)

(2)   应用生命周期 ALM (Application Lifecycle Management)

(3)   模型驱动开发 MDD (Model-Driven Development)

 

创新、简化开发流程及开发业务,遵循规则开发、依据规则管理,可以有效提高生产率。

 

John在谈及“提前管控质量”时,以例说明,你要去瑞士参加重要会议,刚下飞机,将随身携带的旅行箱丢失,里面有你的正装,而你又要去参加一个重要会议,这时你怎么办?。John提出的例子很有说明性,其实你可能想再买一套就可以啦,那为什么不去考虑怎么可以在丢失之前去管控呢。项目中也如此,John提出数据,从项目开始发现问题到最终版本发现问题,这时最终版本发现问题会比开始发现问题的损失增长成百上千倍,那项目中需要管控有哪些呢?

 

(1)   最终发行版本仅反映最初所分配需求的52%
其导致原因无非两点,1)需求调研的需求与客户提出需求不符。2)需求多,膨胀,软件开发商做不到。

(2)   需求剧变,John提出数据,以1年项目为例,每月1%-13%的需求变更,最终30%的需求变更。
导致原因:1)引发客户变更。2)系统需求变更

(3)   发布版本。
导致原因:1)需求变量对发布有影响

 

最终John提出结论:70%功能缺陷,不具备可操作性,无法交付。

 

 

John开始进入主题,“闭环跟踪”,其实这种研讨会无非就是宣传公司产品,开始宣传他的思想,让你接受他的思想,好,他又用软件产品实现了他的思想,买吧。

正题,闭环跟踪主要有三种方法:

1)      自上而下

a)        收集“客户反馈”,确保在整个开发生命周期中有效管理、审查并跟踪客户请求。

b)        需求工作流程管理,通过灵活和可重复流程来保持对需求变更的跟踪。

c)        需求执行,确保需求变更在最终产品中得以执行。

2)      自下而上

a)        需求执行,任务执行。

b)        任务追述到需求,再从需求追述到客户反馈。

c)        需求验证任务是否满足客户反馈是否相符,确认软件可以满足用户提出的需求。

3)      提高跨生命周期的可见性和可预测性

a)        通过自上而下和自下而上两种方法,利益相关者无疑可以轻松地在整个产品工作流程中保持对需求变更和变更请求的跟踪。管理需借助自上而下的状态信息来确定开发团队达成其目标的具体方式。警报和考核有助于项目经理及他人开展对期限、需求、项目分配和软件开发其它方面的跟踪。各级经理不但可以清晰把握开发进程的各个阶段,还可以了解不同角色的与组件间的互动方式。定期警报将协助项目经理针对进度或预处中所出现的偏差迅速作出响应,并在事况恶化前及时修改。
以上是Telelogic白皮书中介绍的,其实总结出来,无非就是出些报表、驻状图、饼图什么的,再加上可以配置一些预警。

 

 

John强调CMMI只是告诉你“做什么。”不会告诉你“应该怎么去做”,一般过CMMI的过程:参考模型->培训课程->评估方法(打“对号”,就是哪项满足规范就打个对号)。CMMI需要三个主要组成元素:人,规则,工具。而CMMI不会告诉你做什么,这时就有我们的工具规范你怎么去做,唉,终于提正题,介绍Telelogic公司的产品了。

 

茶歇

 

该演示产品了,首先是需求管理工具Doors,说白了其实就是一个流程,首先用户提出需求->审核(是否同意)系统需求->用例->提出实施请求(使用状态跟踪)。Doors可以按项目及需求说明书、概要设计、详设逐一关联,举个例子,提出功能A需求,可关联功能A概要设计,功能A的详细设计。不就是我们一个工单吗?拿这种产品来唬人,不过人家的思想是先进的,我们取其精华。其实人家也是有特点的。

下面就说说配置管理工具Synergy CM,其实我看CM代码管理部分就像Source safe,只是人家将DoorsCM有机的集成在一起,其实感觉就数据源一样就解决集成了。一样Doors提出的请求实施与CM的任务联系在一起,例:我在Doors提出A功能的请求实施并派给实施人,然后实施人登入CM将看到派来的任务,之后实施人分析派来的任务,这时就要source safe了,实施人员check out要完成任务所涉及的代码,完成后commit。在CM中可以追述Doors的数据,也就是说有提出提出实施请求,用例,审核,需求人是谁(这就是自下而上了)CM提供类似Source safe,svn ,cvs的功能,代码比较,目录比较,形成基线。基线比较,任务比较。提供任务,代码,基线告等的报告,统计、总体实施进度等。典型的自下而上,代码->任务->实施请求->需求。CM提供eclipse plugin

 

OK,总算说完了,我总结下吧。其实John的思想是好的,需求不断的变更导致项目的成本增加,管理难度增大。John提出了使用Doors工具来管理需求,来规范化,梳理你的开发流程,而又用CM来管理开发人员的开发任务管理。而DoorsCM集成更是一把利器,梳理你的开发流程。其实DoorsCM根本没有什么技术难度,但它可以解决像CMMI无法帮你解决的,如Jhon所说,CMMI只是告诉你做什么,而Telelogic会告诉你怎么做。

 

2007-5-25

posted on 2007-05-25 09:52 曲静波 阅读(2132) 评论(0)  编辑  收藏 所属分类: others


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(3)

随笔分类(9)

随笔档案(8)

文章分类

友情链接

搜索

最新评论

阅读排行榜

评论排行榜