1.移动互联网应用创新需要敏捷开发
1.1 传统开发和敏捷开发的区别。传统开发方法即生命周期方法,又称结构化范型。它采用结构化技术来完成软件开发的各项任务。瀑布模型是传统方法代表,该模型将软件生命周期定义为六个基本活动:计划制定、需求分析、软件设计、代码编写、上线测试和运行维护,并且规定它们由始至终、相互衔接的固定顺序,犹如瀑布流水,逐级下落。
敏捷开发则是把大项目划分为多个互相关联,但也可独立运行的小项目,并分别完成,子项目的成果都经过单独测试,均具备集成和可运行的特征,因此在实施过程中软件可一直处于使用状态。敏捷开发由几种轻量级的软件开发方法组成,如极限编程,Scrum,精益开发,特征驱动开发,动态系统开发方法,水晶开发等等。
由此可见传统开发模式在结构层次明晰,但流程上较为固定,对各个阶段的准确度要求较高,对软件的实施结果可预见性差。而敏捷开发化繁为简,各模块独立性强并能单独部署,所见即所得,提高投资的可靠性和回报速度。
1.2 移动互联网应用创新特点。美国经济学家熊•彼得说:所谓创新就是要“建立一种新的生产函数”,即“生产要素的重新组合”,就是要把一种从来没有的关于生产要素和生产条件的“新组合”引进生产体系中去,以实现对生产要素或生产条件的“新组合”。创新的目的是对老旧的流程进行改进和革新,从而引领时代发展的潮流。创新分为两类,一类是技术创新,一类是管理创新。而技术创新是工具,其目的是为了实现业务创新。
移动互联网应用创新具有以下特点:
(1)移动互联网应用创新的主要切入点为“提升客户感知”:移动应用创新的技术难度均不复杂,关键在于想法新颖不新颖。从目前来看,绝大部分创新应用是基于移动互联网地理定位、私密性、便捷性等的特点,来改善客户感知,如基于LBS的服务、即时通信、移动商务、应用商店等。而基于客户感知方面的需求往往是要求能短平快实现和解决,这就契合了敏捷开发的特点。
(2)创新需紧跟潮流并具有不确定性:由于互联网环境的迅速变化,如何将app或业务快速推如市场成为创新应用成败的关键,也就是我们说的敏捷度。敏捷开发精神强调程序员与业务管理者之间的直接沟通、紧凑而主动的团队协作,充分发挥软件开发中人的作用,通过软件版本的频繁交付,因此能够很好地适应需求的快速变化。同时,创新性移动应用的最大特点是未来市场的不确定性和难以预测性,在开发中,采用依托于敏捷开发的核心精髓的循环迭代流程,能帮助开发者提高效率、降低成本,并尽可能贴近市场需求。
1.3 传统开发模式无法支撑移动互联网创新。移动互联网应用创新特点对软件开发项目管理提出了如下要求:能够“随即而动”响应不断变化的需求,能够正确快速的接应需求迅速进入开发状态,代码和软件维护的便捷性以保证7*24小时不间断服务,能够迅速提供产品并不断完善。而传统的软件开发方法,将很难实现以上要求:
(1)在实际的软件开发过程中,有时因顾客不能很好的表达自己的需求,或者顾客和开发者理解上的差异,导致大多数情况下软件开发过程需求还会不断随时间变化而变化。瀑布开发模型很难适应这种变化;敏捷拥抱变化,允许变化可以随时随地发生。在敏捷开发中,变化与增加新功能是没有矛盾的。
(2)传统方法开发软件的过程,往往是顾客与开发团队的利益博弈的过程,开发过程中顾客的参与度不高。这也是传统开发模式下最终交付软件与顾客预期存在巨大差距的重要原因。而在敏捷开发中,要求顾客和开发团队一起开发,保障软件和客户目标的一致性。
(3)传统方法学不同开发阶段由不同的人来完成,团队成员参与度不高,不利于软件整体维护。敏捷开发强调简单设计,合作开发,团队每个成员都从开始接触客户到需求分析,程序设计以及编码、维护工作,全程参与全部承担。
(4)传统方法往往要到最后才能得到可执行的产品,而敏捷开发很早就可以得到可执行的产品。
1.4 结论。因此,在绝大部分情况下,移动互联网的创新应用,我们必须采取敏捷开发的模式。
2.敏捷开发实践
2.1 项目介绍。本次创新开发实践的项目名称为“微信客服”。微信由于“一对一”私密性与互动性,在客户服务方面具有独特的优势,它一方面可安全高效地完成用户业务咨询需求,另一方面让用户能感知到自己互动的对象是实实在在的人。通过微信渠道,为用户提供个性化的客户服务,对提升企业形象、增强客户粘度能起到良好的促进作用。
将“微信”作为客户服务的一种渠道是比较大胆的创新探索,为规避投资风险,同时从节约开发成本方面考虑,采取创建小型虚拟团队以极限编程模式进行开发。
2.2 项目实施流程。
(1)与客户沟通,制定开发计划。项目组成立后,程序员团队立即与客户进行沟通,并从“客户感知”的角度出发共同确定系统需求,拟定功能模块,形成简单需求文档。同时制定开发计划:实现三个迭代周期:第一个周期完成话费查询、积分查询、营业厅查询这三个模块;第二个周期完成业务定制、促销活动、在线客服这三个模块;第三个周期完成自定义菜单、后台管理功能两个模块。
(2)结对编程,提高质量。团队成员按照功模块进行简单分工,两两组队,使用基于团队开发的工具如GIT,SVN,共同完成同一功能模块。结对模式是团队成员中进行新老搭配,老成员负责编写代码,新成员负责系统测试及代码走查,以保证代码的准确性性和可读性。
(3)共享代码,共同维护。使用GIT版本管理工具,保证代码的同步更新和合作开发,保证所有成员具有相同的阅读权限,每个成员不仅需清楚自己所编写的代码,也要了解其它队员代码编写情况,同时赋予每个成员都更改代码的权利,任何问题的出现都由全团队成员一起讨论、修改,这样,即使因某个团队成员的离开也不会影响到整个项目的开发进程。
(4)持续集成、测试。每周开展一次集体测试会,邀请客户一起进行测试,在这过程中注意客户的反馈意见,及时变更部分需求,积极进行编码测试,保证开发的质量和避免风险的发生。
2.3 效果和效益评价。整个系统经过一个半月的迭代开发,到最后一个版本发布时,整个系统早已稳定运行。团开发充分注重了安全性、易用性及灵活性,同时敏捷模式使客户对系统所提出的任何要求均按质按量全部实现,获得了客户的高度好评。
如按照原来的流程进行开发,客户必须一次性整理需求,且中途无法变更,导致需求搜集时间过长,拖延开发周期。同时采用传统开发模式,通常采用一次性交付软件的方式,对使用过程中发现的问题或新产生的需求,必须增加投资进行解决或实现。
由此可见,通过敏捷开发的方式,即有效的提高了客户感知,也大量的缩短了开发时间成本和投入成本。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:移动互联网创新应用敏捷开发探讨及实践
本文网址:http://www.toberp.com/html/consultation/10839511096.html