基于微简敏捷方法的软件开发新模式

(整期优先)网络出版时间:2019-04-14
/ 2

基于微简敏捷方法的软件开发新模式

银宇

天津霆客计算机信息技术有限公司天津市300000

摘要:目前,我国的综合国力在不断的发展,社会在不断的进步,本文针对当前甲方及软件开发公司,在开发过程中因不熟悉技术或业务经常碰撞出矛盾的问题,提出了基于微简敏捷方法的软件开发新模式。它是以界面为核心引导整个开发过程,基于实践的软件开发方法,提出“微简开发方法”与“微简甲方原则”,使双方能准确沟通,最大程度解决了需求变更、创意优化的问题。

关键词:敏捷方法;软件开发;微简开发方法;微简甲方原则

引言

随着软件行业的逐渐成熟,软件行业已经变成低利润行业。很多公司辛辛苦苦干了一年,都发了工资;经常一笔钱回不来,工资就发不了;公司刚做大点,又不得不缩编;很多项目没法做,算下来总是赔的;有时候系统快做完用户才发现不是他们要的,只能推倒重来;项目前期总是推进的很慢,用户很难沟通;项目后期总是需要加班,不得不支付高额的加班费用;项目组人员越来越多,效率却越来越低;开发人员不是不够用,就是都闲着;公司收入越来越高,利润却越来越低。

这些问题都是表象,根本的问题在于软件开发过程拖沓复杂,人员的利用效率低下。以软件定制开发为例,业务人员不懂开发,开发人员不懂业务,沟通起来非常困难,最终做出来的系统问题非常多,参杂的水分也很大。换句话说,就是软件的质量很不过关。软件的质量和房屋建筑的质量不同,直观的质量问题比较少,由于质量问题造成的影响也没那么明显,所以软件质量问题一直没有被搬上台面。实际做开发的人都明白,软件项目的问题之多已经到了让人难以接受的程度,应付、糊弄的项目越来越多,最终都是勉强交付。

为从根本上解决软件质量问题,大幅提高人员的利用率,使软件企业重回高利润时代,微简公司推出了微简软件开发方法,大幅优化软件开发过程。

1微简开发的主要思想

前期需求以界面为主进行沟通,在需求阶段就完成绝大部分界面;用户通过界面模拟不断体验系统,直到系统完成;用可用型原型工具,将界面设计简化到极致;原型即界面,直接用于开发。虽然只是改变了需求阶段的方式,但此法对整个开发过程的影响却非常之大。首先,用户能从头到尾清清楚楚知道自己要做什么,最终系统什么样,这样就能保证最基本的质量问题,能够让用户得到最适合的系统。其次,从项目开始就看到界面,用户会很主动、详细的提出需求,需求也就能够快速、准确的确定下来。第三、原型即界面的模式大大减少了需求人员与美工、前端工程师、设计、开发的反复沟通,避免二次设计、二次确认过程,大大提高了整体开发效率。第四、界面出来了,数据字典也就出来了,设计工作实际也就完成大半了。第五、这种模式能够最大程度的减少需求的变更,需求的准确使得开发、设计、测试过程都变得更准确,从而使项目整个更为可控,缩短了整个项目的周期,失败的风险也降到最低。第六、由此带来的改变可以减少人员、使人员效率得到充分利用。在这种模式下,软件开发项目成本降低30%应该是比较轻松的,一些资深的专家甚至认为很多项目中会降低50%的开发成本。

这种模式下,甲方也会大大受益。不会再等到项目结束才发现系统不是自己要的;不会把项目的成功完全寄托在乙方身上;不会在项目前期只看到PPT进度汇报而不知所措;信息中心也不会夹在业务部门和开发人员中间难受;不需要等到验收才发现一堆要改的问题;不需要再去面对那么多没用的功能、复杂的操作;项目预算也能降下来。

不光是定制开发,产品的研发也是一样的道理,早期先由产品经理或需求人员直接画出界面,然后看着界面来讨论产品,这样的方式无疑使效率倍增,产品周期也会缩短很多。

微简开发方法的核心之一是“可用型原型工具”。“可用型原型工具”用于制作软件系统的界面,是微简公司提出的一个新概念。它不同于传统的原型工具或软件开发工具。传统的原型工具所做的原型多是示意性的,和最终的界面不同,生成的代码也不可用。而开发工具只有开发人员才可以使用,易用性不足,开发速度也比较慢。可用型原型工具介于原型工具、开发工具之间,是更为直接的需求沟通工具。

2微简开发方法

1)角色设置在微简法中拥有一个特殊角色:超级需求人员。该角色在需求阶段可替代项目经理,进行需求定义和计划制定;在设计和编码阶段可替代前端工程师,运用多框架前端页面设计工具vjpage进行页面制作;在测试阶段,负责检查代码的注释,并配合测试人员确定每个细节;在发布阶段,演示并发布可用系统供用户体验,并确定下个周期的开发任务。每个项目中至少必须有一个超级需求人员,若具备后台开发能力的,可替代后台程序员进行编码实现,甚至可配合运维工程师进行数据库的设计。2)开发工具微简法用微简页面设计系统vjpage作为开发工具,可配合Hbuilder进行深入开发,该系统支持Html5、Ext4.1、MUI等标准框架,可嵌入浏览器或后台脚本。该开发工具采用敏捷开发中的草图板(Sketchboards),其原理为:首先在图纸上完成对整个产品的交互设汁,将交互设计稿交于相关人员进行审查,之后可完成在此基础上的进一步工作。草图版的优点是,快速高效的将设计方案可视化,用户看到直观界面之后,会主动、快速、准确的提出需求,提高了软件质量和用户满意度。3)开发流程在一个软件的开发过程中,需要强调软件的开发速度和用户的需求满足程度,微简开发方法也需要与之相适应的开发过程模型。微简开发方法业务流程如图3所示。(1)需求阶段。项目经理制定项目计划,并组织召开总体计划会议。项目计划是粗略的、迭代的整体计划,包括大的功能划分列表,以及各部分的需求完成时间、编码测试完成时间。总体计划会议之后定义需求会议。内容包括对上个周期开发的系统进行演示和讲解,并汇报工作成果;整理出需求清单,确定下个周期的需求工作计划。需求会议之后要召开计划会议,确定本周期的开发任务。应根据界面功能的划分列出开发清单。制定后进入第一个发布周期。每个月为一个发布周期,也可以是2-4周。(2)设计/编码阶段。页面制作的前端框架已由vjpage完成,超级需求人员应参与前端页面逻辑设计和后端系统架构设计,功能模块的划分和数据库设计等。在编码实现中,可配合后台系统接口快速完成具体应用体验,进行需求检查和定义需求测试,生成代码安装检查表和构建测试需求。(3)测试阶段。编码测试过程中主要通过开发任务完成情况、超级需求人员体验系统、用户体验系统进行进度控制。程序员必须在每次提交代码时运行完整的单元测试代码;而超级需求人员代表用户进行体验,边编码、边测试、边体验。经过测试的产品在与客户进行演示和交付后即可部署到生成环境中投入使用。(4)发布阶段。每个发布周期结束时应举行评审会,向用户演示本周期的开发结果,发布可用系统供用户体验。直到系统完成并部署到运营环境。每个迭代周期结束后,根据测试结果、用户体验和新需求等更新开发版本,进行下一轮的开发。

结语

软件公司采用微简法作为大型信息化项目的开发方法,可更好的适应用户业务需求的变化。对于中小型项目,有了敏捷开发平台vjpage的支持,信息化软件的开发难度有限降低,让甲方也可进行简单的自主开发。联通作为第一家混改的运营商,借鉴互联网思维采用敏捷方法,不仅能快速满足日益增长的营业厅业务支撑需求,进而提升用户体验度和满意度,同时也能使开发团队快速学习、减少外包成本、充分发挥自身核心竞争力和增强企业对环境的应变能力。

参考文献:

[1]王玉玺.浅谈敏捷软件开发[J].数字技术与应用,2014(05):188.

[2]吕建,王千祥,马晓星,毛新军.自适应软件系统:开发方法和运行支撑专题前言[J].软件学报,2015,26(04):711-712.