【案例正文 】
假设你是软件学院的在读研究生,家族有一个集团公司,现在由于一些客观原因,准备将一个100人左右的软件公司交到你手上,并且集团现在将公司办公、生产、销售整体信息化系统作为一个项目委托给该软件公司,希望年底可以交付,现在你作为一个项目负责人上任了。 初步的调研后发现该软件公司存在这样几个问题。首先在管理上非常原始,制度建设相当滞后,很多问题的沟通依靠口头形式,问题的确认和状态没有落实到纸面;其次,会议的效率很低,好几次会上不知不觉地跑了题,而且大部分会议也不会产生结果,即使有了决议,改天一问,结果也没人落实;更严重的是,很多技术人员并不知道公司要做什么什么样的产品,工程师们上班时间往往只专注于自己的兴趣,按照自己的喜好进行开发;另外,工作的进展也没有办法准确地掌握,有一个项目到交付前一周才发现无法集成。
危机的阴影时刻笼罩在市场人员的头上,已经发生好几次的退货事件,因为公司开发的软件产品动不动就罢工,而且操作上十分刻板、不方便。员工的牢骚也不小,部门经理们总是强迫大家加班,40名工程师中已经有10几人放出话来准备跳槽,总之,管理上非常混乱和随意。
问题一:公司目前是一个典型的CMM第一级企业,要提升能力成熟度,针对上述描述得问题,你觉得应该在哪些方面下工夫,应该有哪些具体措施?
虽然你引进了CMM,做了一些工作,并制定了一些规章制度,但是现在一人存在一些问题,例如:虽然公司确定了详细的需求分析文档建立的格式和要求,但是在实际项目中,并没有完全按照这些要求创建必要的文档。对于需求的更改不能满足,例如最近对于现在正在做的一个银行系统项目而言,客户在初始需求提交半个月后,增加了要求活期存款到一定时间后可以自动按照定期计息的需求,经过质量保证评审部门的测试,软件交给用户使用,但是现在用户发现软件在实际使用过程中,计息模块根据需求进行了修正,但是其他模块仍然是按照原先的需求进行设计,没有进行相应的定活期自动转变的修正,用户前段时间由于不知名原因,一个分服务器硬盘毁坏,所有数据丢失,软件在设计时又没有设计永久性备分功能,造成较大损失,现在用户已经要求退货并赔偿损失。经过公司内部调查,质量保证评审部门在测试时发现了部分问题,但是软件开发部门经理以交货期限即将到期,拒绝修改,他们抱怨质量保证评审部门无权管理和干涉软件开发。
此外,软件设计开发过程中,没有具体详细的开发规划,事先没有制定详细的实施计划和人员调配方案,部分工作人员没有具体的计划,而核心开发人员同时参与几个软件项目开发,并且大部分时间是担任“救火员”角色,例如现在正在开发的一个高速收费系统的项目,项目组成员对于自己的具体工作没有明确的认识,每天的工作由经理当天临时布置,没有系统性和计划性,现在该项目交货期限已到,但是没有一个模块已经完成。
由于项目管理比较混乱,核心软件开发人员比较繁忙,没有养成相关文档以及日志书写习惯,系统中的关键参数的设计和选定主要依靠开发人员的经验完成,最后项目提交时,部分参数没有提交,参数也没有解释和说明,关键性参数配置对于客户而言是黑盒,软件产品的升级和维护存在问题。
问题二:通过上面描述,结合CMM,请总结该一下公司软件开发过程和管理中哪几个关键过程域存在问题,具体哪些关键实践没有完成?你准备采用什么具体方法和手段解决这些问题?
你现在准备对整个公司的软件开发人员进行有针对性的CMM培训,并以一个集团办公自动化软件作为简单的案例训练。
问题三:假设你现在担任试点项目组的项目经理,需要提交这个集团办公自动化软件的需求分析报告,那么你准备采用哪些手段获取需求的,各种手段的特点,并说明在需求获取阶段及采用手段方面的注意事项(请尽可能详细,并举例说明) 同时由于你还在读研,不能天天跟进项目,你采用何种措施保证项目正常进行,并确保了解项目的进展?