摘 要:“敏捷管理”是近年来被广泛推广的一种开发软件的管理方法,这种方法以实践为基准,为复杂度不断增加的软件需求提供了新的解决思路。本文在阐述敏捷管理的原则、特点的基础上,以敏捷方法在信息系统开发中的实践为例,阐述敏捷管理在软件开发中的作用,实践证明,这种方法可以在极大程度上提升客户满意度,也能够充分保证信息系统的质量。
关键词:敏捷管理 软件开发 客户满意度
中图分类号:TP311 文献标志码:A 文章编号:1672-3791(2013)04(b)-0000-01
随着信息技术发展与应用的逐步深入,软件信息系统的需求日益增多,从而对软件开发者也提出了新的挑战。由于不少软件项目对开发时间的要求比较高,客户的需求也随着现实情况不断变化,为传统模式的软件开发流程与思想带来了新的难题。“敏捷开发”是近年来被广泛推广的一种开发软件的方法,这种方法牢牢以实践为基准,为复杂度不断增加的软件技术需求提供了新的解决思路。本文在阐述敏捷管理的原则、特点的基础上,以敏捷开发方法在智能办公环境能源管理控制平台系统开发中的实践为例,阐述敏捷管理在软件开发中的作用,具有比较好的理论价值与实践意义。
1 敏捷管理模式的原则与特点
所谓敏捷开发,指的是以团队协作为基础,通过快速响应客户需求变化,以信息系统的迭代进行开发的新理念。敏捷开发的核心要素便是将开发者本身作为开发过程的一部分,通过循序渐进的迭代来最终实现系统。已经有不少软件开发实例可以证明:基于敏捷管理的软件开发能够在很大程度上提升信息系统的生产率,非常适合充满变换的客户需求环境,也可以为客户解决需求模糊的问题。
敏捷管理的一系列原则保证了信息系统开发的高效,这些原则计有:(1)将客户的满意度置于服务的首位,并以时间的保证和质量的保证为基础;(2)在软件开发周期中的任何阶段,均满足系统用户的需求改变,并以敏捷过程来快速完成变化,以巩固客户的竞争优势;(3)软件的部分模块如果已经开发完成,即可交付用户使用,尽可能缩短交付时间,提升客户的满意度;(4)信息系统的业务人员和开发者,应该在软件开发的全周期内协同工作,互相配合;(5)对于团队所有的成员,均肯定其价值,并激励其付出努力,通过为富于不同技术特长的团队成员提供适用于其提升效率的工作环境和管理体系,使其能够高效率完成开发目标;(6)开发团队保持高速沟通,支持成员之间通过交谈和讨论实现信息的传递;(7)软件开发的进度是团队考核权重最大的因素;(8)敏捷管理的重点,是使开发团队能够恒久地保持高效率;(9)团队应该及时地西区和引入更优秀的开发技巧与更新近的开发理念;(10)通过简单化的描述,为尚未完成的部分指明方向;(11)团队内部的协调一致,才能为客户提供最为理想的软件体系次;(12)软件开发团队应该周期性地进行总结,对开发进程与开发目标进行调整。
在以上原则的界定之下,基于敏捷管理模式的信息系统开发具有的最鲜明的特点是:(1)通过开发者与客户的直接沟通,快速传递信息,最大限度提升软件开发对于客户需求的满足;(2)结合不同的用户需求,为系统开发拟定不同的周期,以短周期迭代的模式减少返工;(3)引入代码重构,加强代码鲁棒性。
2敏捷管理在软件开发中的应用
2.1项目概况
2.1.1项目简述
针对某公司对于综合管理的要求,为其开发一套建立一套智能办公环境能源管理控制平台系统。系统的需求简要概述如下:
能源采集模块主要包括能源数据实时采集、能源数据的远程传输。通过能源数据实时采集功能,实时通信服务器按指定采集周期自动采集用户的能源消耗实时数据和能耗设备状态,并将采集数据保存至实时数据库同时将结果定时或者即时上传到远程云计算数据中心。
能源监控和管理模块主要包括系统管理、区域管理、能耗分析、能耗测评、数据报表和事件记录。系统管理功能完成用户对系统的基本设置和管理的功能。其中主要包括用户信息、数据导入等。
2.1.2项目分析
从项目的需求可知,此信息系统由于涉及到不同部门的数据统计分析,因此一方面必须能够及时地处理繁多的采集数据与分析数据,另一方面还应能够结合不同权限用户对不同功能模块进行权限的规定与设置,因此具有一定的复杂性;加之信息系统对时间要求比较紧急、客户需求经常发生更改,本团队为新组建团队,尚未磨合顺畅等因素,因此引入敏捷管理方法进行开发与实现。
2.2项目实施
2.2.1 敏捷管理模式的引入
结合团队计划,最初以瀑布式模型在作为此信息系统的开发思路。但是很快发现进展缓慢,原因在于系统架构尚未完全明确,模块无法投入测试。以能源采集模块为例,因为最初难以对所有类型的采集数据进行清晰分类,造成此模块的管理比较混乱,最终重新进行。此外对于系统架构的选择也没有及时确定。以上原因造成项目进展落后与原计划。考虑到系统需求多样,开发团队最终引入了敏捷管理模式ScrumWorks,并开始重新运作项目。
2.2.2 用户需求的重构
结合敏捷管理模式,项目团队重新梳理用户的实际需求,通过信息系统的业务方与开发团队集中讨论和细化,使业务需求逐渐变得明晰和可量化。在此基础上,明确信息系统最为关键的功能点,并及时在需求报告中体现出客户需求的变更。
2.2.3 技术路线的确定
为适应敏捷管理,系统采用 B/S 结构,引入SSH构架,以Spring来实现系统所需的服务,并引入ESB技术作为SOA中介,通过为J2EE结构中的业务逻辑层底部补充服务层,实现系统对具体参与调用的软件代码的封装。在整个系统里,将所有模块的功能都定义成相互之间彼此独立的一个服务,所有服务都为系统的表示层预留了可被随时调用的网络服务接口。系统的具体业务流程则以单个或多个服务进行组合之后来实现,最终的实现表示为表示层的一个业务逻辑视图。其优势在于一方面减轻了开发工作量,另一方面通过预留接口,能够轻易地实现与另外一些系统业务系统的对接,最大限度地拓展了系统兼容性,也不再存在版本方面的冲突。在系统框架设计中,引入了分层化的设计模式,对于不一样的操作与不一样的处理,将其分配到不一样的层次中来处理,在信息系统具体的开发过程中,为了使层次之间能够彼此保持更大程度的独立性,不同的层次与层次间,仅仅以接口来进行通信,凡属于下一级的层次,均具备为了满足上层调用而设置的接口,具有比较好的扩展性、比较强的重用性、和比较通用的可维护性,基于此框架的智能办公环境能源管理控制系统能够为管理部门的信息化管理提供支持。
2.2.4 开始迭代周期
结合项目本身的需求,本课题将迭代周期设置为14天。业务方代表每个周期前均应与开发团队通过会议的方式明确每个人的分工,以及本周期的最终目标。由于客户的需求有时候会发生变动,因此在会议中也应对上一个周期的变更进行细致的讨论,如果寻在未能及时完成的工作,则将其纳入本周期之中。
2.2.5 迭代过程跟踪
由于团队的所有成员均已在迭代周期中明确了自身的责任与工作,因此在这一阶段b5e50d407b9ccd67417499a79a5f4f8f6ed22e320aadfe102f030aaa2d27bce1,信息系统的设计比较顺利。通过甘特图,管理者也能及时获取每一个团队成员的工作进展情况,管理者可以结合每一名成员的实际能力与特长,结合其工作进度对工作任务作出调整,以增加团队效率。
2.2.6 里程碑的实现
为了是使信息系统的进度控制更加精细,项目组把一些模块的实现作为本课题的里程碑事件,在几个重要的“里程碑事件”发生之后,软件开发团队已经向客户提交了信息系统的第一个版本,而结合用户以后又造价的新的需求,将以后续的版本来分别一一实现。
3 结语
基于敏捷管理模式的软件开发模式是一个渗透在软件开发全周期的过程,属于一个必须持之以恒的信息系统构建原则,而非一个独立的事件。敏捷开发的最终目标,是使软件开发能够适应于可累复杂护着模糊的环境,尽可能的维持其清晰性与简单化。本文所阐述的基于敏捷管理方式的信息系统开发模式十分适合中小型团队的项目,实践证明,这种方法可以在极大程度上提升客户满意度,也能够充分保证信息系统的质量。
参考文献
[1] 理查得·科克,冯斌译.80/20法则[M].中信出版社,2011:10-12.
[2] 敏捷建模(Agile Modeling)Scott.Ambler著,张嘉路等译,机械工业出版社2012:17-20.
[3] Ivar Jacobson,Grady Booch,James Rumbaugh著. 统一软件开发过程.周伯生,冯学敏,樊东平译. 北京:机械工业出版社,2012.10.
[4] Kent Beck. Extreme programming explained: embrace change.2nd ed. Addison-Wesley Professional,2011.
[5]StephenRSchach著.面向对象与传统软件工程.6thed.韩松译.北京:机械工业出版社,2011.40-42.