2.项目管理的作用
1)推动技术与需求“匹配”
上面提到要采用敏捷方法的迭代式开发,尽快的冻结需求,那么通过项目管理的手段,可以控制和缩短需求冻结的时间。
项目管理是一种管理手段,目的是在指定时间和资源的条件下,保质、按时地完成预定的任务。作为一个项目管理人员,必须注意有些需求的变化是由于业务与设计的“不匹配”造成的,即用户一方可能对信息系统的开发和实现方法,缺乏全面的了解,不懂得如何将传统的业务模式转换为信息系统所要求的处理模式。
另一方面,也可能开发商对用户方的需求、细节了解不充分等因素,使得用户方与开发方对工程的理解从一开始就存在着差异。因为业务人员开始提不出实际的需求来,而只是把大致的工作流程介绍一遍。而这种认识上的差异与理解的不同往往在开发初期并没有表现出来,当软件基本成型,给用户演示时,显出较大的差异。
作为开发商,过去经常将开发的注意力集中在“技术”上,即计算机软硬件、操作系统平台和数据库等技术实现上。而对于信息系统的开发,则必须首先考虑到用户的理念、方针和及其对技术方法的领会等各方面因素。往往这些因素对系统成败所起的作用,比技术实现的因素更重要。
首先,项目设计组人员要向需求方的领导及业务人员阐述信息系统是如何实现的,什么样的业务模式适合于网络,怎样处理和解决什么问题,需要在传业务模式上做哪些改进,建立基本的操作规范等等。必须明确,信息系统改变了现行的工作管理模式,使工作人员失去了一定的灵活性和随意性。如果不建立新的操作流程和规范,在传统手工处理方式上,实现信息系统是不可能的。
其次,详细的了解全盘业务流程之后,用基本用户界面原型向需求方演示和说明方案,使业务人员真正理解技术实现的思路,能够及时发现与实际不吻合或存在的困难,这样才可能从工作流程上或技术上来解决这些问题。
当出现问题时,项目管理人员应迅速分析问题,正确判断哪些问题属于不适应新的工作模式引起的,哪些问题属于操作不当引起的,哪些问题属于系统本身不完善引起的。对于那些由于不适应新的工作模式引起的问题,项目管理人员应引导使用人员迅速适应新的工作模式,必要时也要说服用户方的决策层采用行政手段推动实施;项目管理人员时刻注意取得决策层的理解与支持,帮助工作人员尽快地适应新的工作方式。
项目管理者就像是一个枢纽,由他来决定需求的分类、工作量、需求变化对现有软件的影响程度等因素,从而安排需求变更的计划――是在本次迭代中完成,还是在下一次迭代中完成。
2)开发文档的更新
软件开发文档对与软件项目来说是一个很大的工作量。很多软件项目的开发,在初期文档比较正规,随着项目的深入,特别是需求发生多次变化之后,要保持软件开发文档的一致性就感到非常困难了,因为需求改变的各种信息没有记录下来,最后不得不蒙混过关,草草了之。
但如果我们按照敏捷方法的原则,在需求冻结之前,不要过分的把精力投入到文档的制作上,而是将有关的信息记录和保留下来,在需求基本冻结之后,化一定的时间来创建和对文档进行格式化。
3)合同的考虑
尽管按照敏捷方法的原则是拥抱变化,但还是应该在签定开发合同时,一方面对项目的费用和时间估计时一定要考虑用户需求的变化,另一方面把用户需求的改动的条款写清楚,如果用户增加或改动了需求,那么软件的交付日期可以推迟,费用也应增加。这样可以限制用户的随意改动。
结束语
每个项目的开发环境及实施环境各不相同,在系统设计和项目管理方面所面临的问题不尽相同,但需求发生变化是所有项目都会遇到的问题。信息系统的建设由于会改变原有的传统工作模式,需求的内容因而会随时变动,给开发工作带来很大的难度。本文提出了应用敏捷方法的思想来应对软件开发过程中需求变化的问题,希望能对系统开发人员和项目管理人员有所帮助。