首页 > 全景管理 > 软件开发项目管理系统
软件开发项目管理存在的问题
随着信息技术的快速发展,各行各业对软件的需求也越来越多。然而软件开发类企业也面临这这些问题:随着竞争的加剧,一方面软件开发人员的工资水平在不断上涨,另一方面软件开发项目的利润空又在不断缩小。软件开发企业为了生存和发展,掌控项目进度、提高开发人员的使用效率、降低人力成本,成为了它们的必然选择。然而,由于软件开发项目流程的复杂性和非标准化,传统的项目管理手段很难取得明显的效果,存在以下问题:
1. 项目管理混乱,人力资源浪费严重,开发成本很难控制。
2. 项目的计划与执行二张皮,没有很好的衔接。当实际执行与计划不符时,无法及时得知。管理者没有办法第一时间获得想要的一手资料,总是事后才知道项目情况,往往采取补救措施的时候已经错过最佳时期。
3. 项目内部的沟通与协作需要靠人盯人的方法才能保证项目的推动,这样使得项目经理的责任心和能力就成为了项目成本的关键点。项目过程中多方工作交叉和协同经常发生相互推诿、扯皮的情况,无法按标准制度落地,造成标准与执行二张皮。项目时常因为通知不及时或者因为各种原因造成工作交互之间产生大量时间的浪费,资源不能有效利用。
4. 传统的进度管理中,总控进度计划和分项进度计划是分离的,进度管理部门也无法快速了解到其他分项进度部门的计划执行情况(如:设计进度、开发进度、测试进度)是否对总体进度有影响,这样当总体进度出现问题时,只能事后救火。
而当前绝大部分传统的项目管理系统,是采用非流程的方式开发的。其使用是由项目经理作项目计划和任务分解,再通过人工或半人工的方式通知任务相关人员,并以此驱动流程的进行,无法真正实现流程的自动控制。因此,传统的项目管理系统,几乎就是项目经理一个人的项目管理工具而已,外加一些数据共享和查询统计功能,而不是众人真正参与并协作的一个平台,无法提高效率。
道仑软件开发项目管理系统一览
图1 道仑项目管理系统架构
道仑项目管理系统是道仑软件针对软件开发类项目业务流程的非标准化和复杂性的特点,推出的适合软件开发行业的项目管理系统。
道仑项目管理系统可以帮助软件开发企业高效、系统化、流程化、可视化地管理各类软件开发项目,包括从项目规划到项目验收的整个项目生命周期进行管理。
通过使用道仑项目管理系统,使企业能够
l 建立完善的成本控制体系。对开发过程进行全流程可视化控制。确保项目进度按计划进行,降低了项目失败的风险。
l 将企业管理的各种标准和流程,通过系统进行强制落地,形成规范的项目组织过程,保证项目执行的一致性,大大降低了违规情况的发生,杜绝了制度与执行“二张皮”现象。
l 任务计划与执行的一体化,保证项目进度按时按质完成。任务计划与执行一体化后,项目进度的监督和控制不再需要人为的跟踪、反馈和录入,而是随着任务的执行自动完成的。管理人员可随时看到各个项目的真实进度,这大大减轻了项目经理的工作量,并且整个项目的运行效率大大提高。
道仑项目管理系统为什么能?
道仑项目管理系统能将项目的每个任务分配到每个人头上,再由每个人执行任务,驱动流程的自动进行,彻底解决了项目的计划与执行二张皮的问题。道仑项目管理系统真正成为了项目所有相关人员共同协作的平台,而不只是项目经理等少数人进行项目管理的工具。
道仑项目管理系统为什么能够做到这些?因为该系统采用了道仑软件取得软件发明专利的任务流程管理引擎。通过该引擎,我们的系统能将所有的业务活动包装成任务,然后由任务组装成流程。下面简单介绍一下系统工作原理。
任务的包装
我们知道,任务的内容是千差万别的,大的如一个工程项目,小的如给客户送货。怎么能统一通过“任务”这个对象来管理呢?换句话说,如何为“任务”这个对象建模呢?
我们采取的方法是:包装。这与采用集装箱来运输不同的货物是一样的道理。就是把任务当作一个容器,一个“壳”,里面可以放入不同的活动。而活动本身的内容,是独立开发的。这就提供了极大的灵活性和适应性,能将任何活动包装成任务,只要有必要。
流程的组装
图2流程的组装
本系统的流程,是通过模拟生物体细胞的组成原理来实现的。
我们知道,复杂的生物体实际上是由一个个较简单的细胞组成的,细胞形成组织,组织组成器官,器官组成子系统,最后由子系统组成完整的生物体。我们把企业也看成是一个活的有机体,并模拟生物体的细胞来设计任务。任务与细胞有很多相似之处。首先,它们都带有一定的信息,并需要信息的传递;其次,它们都可以分解/分裂为更小的单元,或组成更大的单元;最后,它们都可与其它单元形成一定的关系。
在本系统中,任务是组成流程的基本单元。每个任务就是一个可重用的“细胞”,可以方便地用来组成各种流程。因此,从某种意义上说,本系统具有与生物体类似的自适应能力,能在过程中不断演化来适应环境的变化。
在流程的实现技术上,现有的工作流系统(例如OA)存在不小的局限。现有工作流系统中的流程,在其生命周期中,其内容基本是确定的,且其流程基本是不能改变的。因此,它们只适合一些生命周期短的,且在生命周期中不需要改变的流程。所以,一些上了工作流系统的企业,也只是实现了一些简单的审批流程,而对其它的流程无能为力,而审批流程只占企业所有业务流程的不到百分之十。但是,企业并非只有审批流程才是流程,才需要被管理,其它大量的业务流程也是企业整个业务流程不可分割的一部分,也需要被统一管理。现有的工作流系统,由于不能对企业中存在的大量不确定性流程进行统一管理,这是造成现在企业中信息系统的多元结构,最终造成信息孤岛和流程割裂的根本原因。
综上所述,如果把道仑项目管理系统比作是一个自动化的生产流水线,那么传统的项目管理系统就相当于一个电子记账薄,其差距不言而喻。
道仑项目管理系统的特点
1. 全流程。打通所有流程,消除信息孤岛。
2. 可视化。流程管理可视化,一切尽在掌握。
3. 任务化。任务主动推送,极大方便用户。
4. 自动化。流程自动进行,省时省力高效。
当前管理系统的最大问题,一是流程不能适应变化,二是对用户也不友好,甚至可以说是反人性的。这些系统虽然实现了许多业务功能,但使用时用户要到系统的各个菜单中去寻找他要做的各种事情,很不方便,既无法提高用户的工作效率,也很容易因通知不及时造成工作的延误或耽搁。
而道仑项目管理系统是一个“以用户为中心”的管理信息系统,系统将每个人的任务自动推送到他的任务列表中,并且可以发送短信或邮件通知。用户进入系统就可以看到他的任务,点击任务就可以开始工作,而不必到菜单中去寻找他的任务。这简化了系统的使用,提高了用户的工作效率,同时也消除了因通知不及时造成的任务的延误或耽搁,从而极大地提高了整个企业的运作效率,真正成为知识工作者的自动化生产流水线。
图3 我的任务
道仑项目管理系统流程
因为软件开发类项目并不存在一个标准化的流程,所以我们选取一个比较典型的软件开发类项目流程进行介绍。
图4 软件开发项目流程
流程说明:
1. 项目规划;
2. 需求分析;
3. 项目设计;
4. 编码管理;
5. 测试管理。
6. 项目部署;
7. 项目验收;
需要说明的是,上面的流程只是一个典型的例子,本系统可以按照不同企业的不同业务需求实现他们个性化的项目开发流程。
道仑项目管理系统功能介绍
道仑项目管理系统可对项目从项目立项前评估到项目验收的整个项目生命周期进行管理。由于篇幅有限,下面只对系统的主要功能作简单介绍。
项目管理主页
项目管理人员登录到系统,就可看到当前的项目列表。可以按照各种条件,如项目类型、项目名称、日期和项目状态等条件进行组合查询。
图4项目管理
在项目列表中,可以看到各个项目的状态。可以点击列表中的“流程图”和“甘特图”链接查看项目的流程图和甘特图。
项目的管理
项目管理的主要内容是项目流程及进度的管理。
图5 项目管理例子
说明:
在本页面中,可以清晰地看到项目的流程进行到哪一步了,每个任务是由谁负责的,以及计划和实际时间。点击项目流程中任务的名称,就可以进入到该任务的管理页面。
在项目管理界面中,同时提供了“流程图”和“甘特图”链接。点击它们可查看项目的流程图和甘特图。
项目流程图
项目流程图如下图所示:
图6 项目流程图
流程图显示了流程中任务的逻辑关系,以及各个任务的状态。红色节点表示已经完成的任务,红色闪烁节点表示正在进行的任务,绿色节点表示还未开始的任务。
点击流程图中的某个任务,就可以打开该任务。
项目进度管理
项目进度管理主要是利用项目的甘特图来是实现的。在项目管理界面中,提供了“甘特图”功能。点击它就可以进入项目甘特图的管理。
任务流程甘特图的管理如下图所示:
图7 项目甘特图
甘特图显示了任务流程的时间安排。不同的任务状态用不同的颜色表示。
这里可以点击“+”或“-”按钮放大或缩小显示时间的刻度。最大到月份,最小到小时。
点击甘特中的某个任务节点,就可以打开该任务。
编码管理
编码是软件开发项目中非常重要的一个阶段,也是用时最长的阶段。软件的质量就是这个阶段决定的。
图9 软件编码管理
说明:
1. 可自定义多个软件功能模块,每个模块可以包含多个程序。
2. 点击“新增模块”或“新增程序”按钮,可以自行添加模块和程序。
3. 选择一个程序,可以将它分配给开发人员。
编制设备采购预算
测试也是软件开发项目中非常重要的一个阶段。软件的质量就是靠测试来保证的。
软件测试也是一项比较繁琐的工作。软件测试的一项主要内容,是对软件缺陷(Bug)的管理,本系统提供了非常方便的手段帮助测试人员轻松地完成这项工作。
图10软件测试管理
说明:
1. 针对个Bug,可以分配给相应的开发人员去修正,并跟踪修正结果,直到该Bug解决。
通过Bug跟踪和任务管理,本系统减少了遗漏和出差错的可能性,大大减轻了软件测试人员的工作强度。
项目统计报表
任务数量统计
统计指标:任务产生数量
说明
统计一段时期内,公司或部门、员工,某种任务产生和结束的数量,以及它们的排名。
意义
1. 通过比较各段时期(比如每个月)某种任务的数量变化,发现业务量变化的规律。从而为以后资源的分配作好准备。
2. 通过发现公司、部门或个人在某个期间数量最大的任务,以及分析该任务的完成情况,可以分析与它相关的业务流程是否合理,以及给它配备的资源是否合理。
任务完成率统计
统计指标:任务完成数量及完成率
说明
统计一段时期内,公司、部门或员工,某种任务的数量及任务完成率,以及准时和超时完成的比率。
意义
1. 可以发现完成率过低或“过高”的任务,进一步查找其原因。
2. 通过比较公司、部门或员工各主体在各段时期(比如每个月)某种任务(准时)完成率的变化,发现任务完成率的异常波动,可以进一步寻找造成波动的原因。
3. 通过比较各部门、员工的任务完成率,作为绩效考核的依据。
4. 可以帮助我们评估资源调整及流程优化的效果。
任务用时统计
统计指标:任务平均用时百分比,任务用时百分比排名
说明
统计一段时期内,公司、部门或员工,某种任务的平均实际用时与计划时间的百分比,以及任务用时百分比排名。
任务用时百分比在一定程度上反映了员工的工作能力。
意义
由于知识工作者任务的非标准性,对任务绝对用时的比较意义不大,但对一段时间内任务相对用时(即实际用时与计划时间的百分比)的统计的比较则有一定的意义。
1. 发现用时过长或“过短”的任务,找出问题原因并解决。
2. 通过比较各部门、员工的同种任务的用时百分比,找出造成差异的原因并解决。
3. 为绩效考核和流程优化提供依据。
任务完成时间统计
统计指标:任务平均完成时间偏差百分比(任务的平均实际完成时间与计划完成时间的偏差除以任务计划用时的百分比),任务完成时间偏差百分比排名
说明
统计一段时期内,公司、部门或员工,某种任务的平均完成时间偏差百分比,以及任务完成时间偏差百分比排名。
任务完成时间偏差百分比是任务提前或延时完成的程度,反映了员工按时完成任务的程度。
意义
1. 发现提前或延时最长的任务,找出问题原因并解决。
2. 通过比较各部门、员工的同种任务的完成时间偏差,找出造成差异的原因并解决。
3. 为绩效考核提供依据。
4. 结合任务用时统计,为流程优化提供依据。
任务时间偏差统计
统计指标:
1.任务用时偏差
一段时期内,某类任务的实际所用时间与计划所用时间的偏差按所在区间的数量分布。
该指标反映了一段时间内任务实际用时与任务计划用时的偏离程度。正常的情况应该符合以0为中心的正态分布,且方差越小(波形越陡)约好,这说明大部分任务的实际用时与预计的相符。如果波峰偏向左边(对应的X轴值小于0),说明大部分任务的实际用时少于预期。如果波峰偏向右边(对应的X轴值大于0),说明大部分任务的实际用时大于预期。
1.任务完成时间偏差
一段时期内,某类任务的实际完成时间与计划完成时间的偏差按所在区间的数量分布。
该指标反映了一段时间内任务实际完成时间与计划完成时间的偏离程度。正常的情况应该符合以0为中心的正态分布,且方差越小(波形越陡)约好,这说明大部分任务的实际完成时间与预计的相符。如果波峰偏向左边(对应的X轴值小于0),说明大部分任务提前完成。如果波峰偏向右边(对应的X轴值大于0),说明大部分任务超期完成,且波峰对应的X值越大,超期越严重。
意义
1. 发现流程设计中存在的问题,找出问题原因并解决。
2. 发现流程运作过程中存在的问题,找出问题原因并解决。
3. 为流程优化提供依据。