cmmi |关于cmmi开发人员访问记录

CMMI(CapabilityMaturityModelIntegration)即“能力成熟度集成模型”,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件,是专门针对软件行业的一个过程改进方法和规范,是目前国际软件行业顶级的评估标准,在世界范围内已经得到软件企业的广泛应用,具有举足轻重的地位。拥有CMMI认证的软件企业,标志着其软件研发及管理水平已经与国际主流模式接轨,目前国内拥有CMMI3认证的软件企业仅约400家。

作为公司的开发人员,很荣幸能作为cmmi的开发人员参与到cmmi的小组讨论中,公司也顺利通过了cmmi3的认证,以下问题是被访谈的开发人员可能会被问到的问题.

访谈问题-开发人员

1、请简短介绍一下项目的范围和主要功能?
答:……(项目简介)(此问裁剪掉,不用回答)

2、公司定义了哪些不同的需求获取的方式?
答:公司定义的需求获取方式有:电话、邮件、调查问卷、开研讨会、静态页面效果图、原型等方式。

3、你的项目中使用了哪些方式获取客户的需求的?获取了客户的哪些需求?
答:邮件、调查问卷、开研讨会、静态页面效果图;获取了客户的需求分为功能性需求与质量属性方面的需求,质量属性可以分为可维护性,安全性,兼容性,易用性等等。

4、客户有没有对你们获取后的需求进行确认?如何确认的?
答:需求开发人员将用户的需求整理,制定成《用户需求说明书》并交于客户确认签字

5、项目中的需求是如何进行管理的?
答:我们在每个阶段完成时,都填写《需求跟踪距阵》,所以当需求变更时,我们采用《需求跟踪距阵》来查看每个需求的状态,了解因变更而影响的需求范围。

6、你们是如何对客户的需求进行了分析的?
答:我们采用VISIO工具来分析系统,并对系统进行建模,制定出系统的业务流程图和系统架构图,当《软件需求说明书》制定完成后,由项目经理组织邀请客户,开发人员,测试人员,配置人员,质量保证人员,高层参加软件需求说明书的评审会议,在保证需求分析是满足客户需求的,并得到大家的认可。

7、需求的优先级和难易度是如何来定义的?
答:我们是根据需求的难易度来确定其优先级的。
高——软件必须实现的功能,用户有明确的功能定义和要求;
中——软件应该实现的功能,用户的功能定义和要求可能是模糊的、不具体的、或低约束的,但是这类功能的缺少会导致用户的不满意,因此这类功能的具体需求应当由需求分析人员诱导用户产生并明确;
低——软件尽量实现的功能,并可根据开发进度进行取舍,但这类功能的实现将会增加用户的满意度。

8、你怎么确保项目组成员完全理解“清晰的需求”和“隐性的需求”?
答:当完成用户需求调查后,首先对《用户需求说明书》进行细化,对比较复杂的用户需求进行建模分析,以帮助软件开发人员更好地理解需。如果使用工具进行建模分析,对需求分析人员的要求比较高。需求定义过程中通常会出现的问题有内容失实、遗漏、含糊不清和前后描述不一致。
当完成需求的定义及分析后,需要将此过程书面化,要遵循既定的规范将需求形成《软件需求说明书》。邀请同行专家和用户(包括客户和最终用户)一起评审《用户需求说明书》,尽最大努力使《软件需求说明书》能够正确无误地反映用户的真实意愿。需求评审之后,开发方和客户方的责任人对《用户需求说明书》作书面承诺。

9、公司是如何跟踪项目的接口需求的?
答:根据《用户需求说明书》制定的《软件需求说明书》中定义了软件的接口需求。并在《需求跟踪矩阵》中进行接口需求的跟踪。

10、如何对需求进行管理来确保需求的完整性,一致性?
答:通过评审会议,维护《需求跟踪矩阵》,以及周会确保需求的一致性和完整性。

11、项目中的变更有几次?
(所有项目)发生很多次变更,但最严重的用户需求变更是在编码阶段用户提出变更,变更影响值为 3 。

12、需求变更的时候谁来确认?
答:当需求变更时候,有项目经理提交需求变更申请给CCB(变更控制委员会)进行确认是否进行需求变更。

13、你怎么确保不同工作产品的一致性?
答:通过召开评审会议确保不同工作产品的一致性和完整性

14、你参加了哪些关于需求的培训,何时?还参加过类似培训吗?
答:CMMI知识的培训、OSSP体系的培训。(可以扩展,如软件工程培训等。)

15、对于过程改进活动,你参与了哪些工作?
答:参与了临时过程组对OSSP体系的编写;需求开发与管理;设计过程等。

16、需求经验和优秀实践如何与其他项目和组织共享?
答:一般有好的经验或建议,我们会向EPG反馈。EPG组长整理采纳后会存放在公司的财富库中。

17、在过程规范中变更如何通知你的?
答:过程规范发生变更时,过程改进会形成新的基线,配置管理工程师会发布基线报告,EPG组长会安排相应人员给我们培训。

18、如何管理产品交付后客户的需求?
答:在产品交付客户后,我们给客户有1年的免费维护期。如果是原需求的变更,我们免费维护。如果新需求的变更,则另有偿维护。

19、公司是否通过了设计方面的指南?
答:是的,EPG制定了《设计过程》《实现过程》等来指导我们工作,比方说设计过程,要先做《概要设计说明书》,然后召开评审会议,评审通过后,再做《详细设计说明书》及《数据库设计说明书》等。保证《软件需求说明书》中的各项要求在设计时都能够得到满足。

20、设计过程是什么?
答:项目经理指定角色,要先做《概要设计说明书》和《编码规范》,然后召开评审会议,评审通过后,再做《详细设计说明书》及《数据库设计说明书》,同时界面设计师做静态界面设计,然后由项目经理召开评审会议,评审通过后,将相关配置项由配置管理工程师入库等。

21、设计采用了哪些技术或者工具?
答:结构化设计方法:主要是1. 自顶向下 2. 逐步细化 3. 模块化设计 4. 结构化编码,用到的设计工具是:visio建模。
结构化设计,减低了复杂性、便于修改、且使得支持系统不同部分的并行开发实现起来更容易。模块类型提供的操作特性通过结合时间历史、激活机制、和控制模式来表现。
结构化设计的步骤如下:
① 审和细化数据流图;
② 确定数据流图的类型;
③ 把数据流图映射到软件模块结构,设计出模块结构的上层;
④ 基于数据流图逐步分解高层模块,设计中下层模块;
⑤ 对模块结构进行优化,得到更为合理的软件结构;
⑥ 描述模块接口。
结构化设计方法的设计原则:
使每个模块执行一个功能(坚持功能性内聚)
每个模块用过程语句(或函数方式等)调用其他模块
模块间传送的参数作数据用
模块间共用的信息(如参数等)尽量少

22、在设计中是否考虑决策分析?如何做的?
答:在我们这个项目中,在做概要设计时,有两种技术方案,我们当时是由项目经理组织召开了决策分析会议,在会议上,我们共同分析了两种方案的优缺点,制定了权衡标准和权重,然后共同根据权衡标准来对每一种方案进行打分,这个分数是大家共同认可的,然后将这个分数乘以权重,得到最后的分数。最终选择分数最高的做为这个决策的最佳方案,同时,由项目经理将这个最佳方案识别成风险,记录在《项目管理记录表》中的“项目风险”里进行跟踪解决。
举出项目中的实例,查看“\1-开发库\支持类\项目决策分析\概要设计决策分析记录表.xls”文档内容。

23、目前的决策分析方法有哪些?
答:主要采用经验法和类比法两种。然后采用专家打分决策。

24、项目使用了几次决策?
答:两到三次决策(技术可行性决策、概要设计决策、变更决策)

25、项目中的重用组件使用前,项目组有没有进行讨论?
答:在《项目计划》中定义并分析了项目重用组件。并在评审《项目计划》会议上,对项目的组件重用进行了分析讨论。

26、设计阶段你们做了哪些评审?如何做的?
答:设计阶段有《概要设计说明书》评审;《详细设计说明书》评审;《里程碑》评审等评审活动。在评审会议上,由主持人组织会议持续,作者讲解评审工件的内容,回答评审人员提出的问题,会议记录人员将评审会议上的内容及问题进行记录,并整理到《评审记录》表中,由项目经理指定并监控负责人解决评审中发现的问题。

27、关于这些评审,计划多少的工作量?评审的主要反馈是什么?
答:评审会议一般持续4小时。评审主要反馈评审工件中的一些问题的个数、严重等级、分析和解决措施等。

28、哪些工作产品进行了同行评审?
答:《用户需求说明书》,《软件需求说明书》,《项目计划》,《概要设计说明书》,《详细设计说明书》,《数据库设计说明书》,《测试用例》

29、同行评审收集了哪些数据? 如何进行分析的?
答:同行评审收集了评审工件中的问题个数、严重等级、产生的原因、解决措施,并记录在评审会议记录中。

30、你是如何确保你的设计符合需求?
答:我们利用《需求跟踪距阵》来保证需求,设计,编码,测试的一致性和完整性;
同时设计中的每一个阶段(概要设计阶段,详细设计阶段)都召开评审会议,确保阶段性工作产品的质量。

31、如何来开展项目的产品集成?
答:在项目计划阶段,制定集成计划和集成环境,在概要设计时,由设计人员制定集成顺序,在编码阶段,开发人员根据集成计划与集成顺序,同时搭建集成环境进行产品集成。开发人员集成后,提交集成《测试申请单》给测试人员,由测试人员进行集成测试。

32、产品集成的顺序和环境在哪里有记录?
答:在《产品集成计划》中有记录

33、有没有任何接口的需求
答:有,分为用户接口、硬件接口、软件接口

34、项目是怎么发布的?谁来建立,评审和最终发布?
答:由项目经理建立和发布项目产品。客户接收产品时,项目经理将《项目交付报告》提交给客户签字。然后召开项目结项会议。

35、你参加了哪些技术和规范的培训?培训的时间多久?
答:OSSP体系培训。(可以扩展,如软件工程培训、架构师培训等)

36、项目在每个主要阶段是否都建立了基线?你是如何得知基线的建立的?
答:是的,当基线建立后,配置管理工程师向项目组成员发布基线报告

37、你如何参与项目计划和估算?
答:项目估算会议上,根据开发经验对用户需求的功能点进行规模和工作量的估计,项目经理将每个专家的估计值进行计算,得到工作量和规模的平均值。然后再参考财富库中的度量数据,进行项目的工作量估算。然后再估算出项目的成本。

38、你向谁做工作汇报,汇报哪些内容?
答:向项目经理汇报工作,汇报工作量,进度、偏差等方面内容。

39、项目中有什么技术风险或问题?
答:有人员的技术风险,也有项目管理的问题。(可扩充)

40、哪些被处理了,当前的状态如何?
答:项目中的风险和问题都被记录在《项目管理记录表》中进行跟踪和管理。

41、项目中使用了那些开发技术?
答:MVC(模型,视图,控制)三层架构。
MVC(Model View Controller)模型(model)-视图(view)-控制器(controller)
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
(可扩充)

42、如何保证代码的质量?
答:我们每天下班前,由项目经理组织开发人员进行交互代码走查,主要是检查代码的编码规范和代码的逻辑性,并将发现的问题记录在《代码走查》中跟踪解决,同时开发人员进行单元测试,以保证代码的质量。

43、你是如何进行单元测试的?测试的结果会记录吗?结果报告存放在哪里?
答:开发人员根据单元测试用例进行单元测试,采用白盒测试,测试结果记录在《测试记录跟踪表》中。

44、如何确定编码结束?
答:1、 项目经理已经确认,该软件的功能已经按照项目《用户需求说明书》和项目《软件需求说明书》的要求全部实现,功能和界面结合完成。
2、 所有功能代码均已基线化。
3、 单元测试,集成测试结束,系统预编译成功。
4、 该软件的项目《用户使用手册》、项目《系统安装手册》等相关文档必需提交到系统测试。

45、项目中的源代码是如何管理的?
答:在做项目开发时,我们利用SVN版本控制工具来管理项目中的源代码,每个人从服务器上将源代码“检出”到本机后进行编辑,然后在本机将新编辑的文档“提交”到服务器上,在本机点“更新”就可以查看其它所有人所修改的文档,同时,SVN可以帮助开发人员随时找到任何版本的数据文档,这样就保证了文档不会丢失。

46、你是如何和测试人员合作的?
答:首先,测试出的BUG有四种状态,分别是:打开,跟踪,重新打开,关闭
首先当测试人员将发现的BUG后,将BUG记录在《测试记录跟踪表》中,此时的BUG状态是“打开”;接着由测试人员将《测试记录跟踪表》提交给项目经理,由项目经理指派BUG修改的负责人,当BUG修改负责人解决BUG后,将BUG的状态改为“跟踪”,然后提交给测试人员,由测试人员进行验证测试,当测试人员验证测试成功,则当BUG的状态改为“关闭”,当测试人员验证测试失败,则当BUG的状态改为“重新打开”,作为BUG重新处理。

47、编码过程中会统计哪些方面的数据?这些数据存放在哪?
答:在编码阶段,我们收集项目规模,数据都记录在《项目总结报告》中。

48、项目经理是如何检查你们的工作的?
答:主要根据周会,里程碑会议来检查工作的,同时在平时我们发现问题也会发EMAIL或走查的形式通知项目经理,项目经理也会根据《项目进度表》监控我们的工作进展情况。

49、你的项目是否有内部质量保证?
答:有。PPQA是根据QA制定的《检查表》在每个检查时机处检查我的工作,并将发现的NC通过EMAIL的形式发给我,我在接到NC一天内给于反馈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值