微简公司推出“微简开发方法”,或将改变软件行业规则

新闻
以软件定制开发为例,业务人员不懂开发,开发人员不懂业务,沟通起来非常困难,最终做出来的系统问题非常多,参杂的水分也很大。换句话说,就是软件的质量很不过关。软件的质量和房屋建筑的质量不同,直观的质量问题比较少,由于质量问题造成的影响也没那么明显,所以软件质量问题一直没有被搬上台面。

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

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

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

下图是优化前后的比较:

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

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

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

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

可用型原型工具的特点应该包括:

1、原型即界面,二者保持一致;

2、生成的代码可以直接用于开发;

3、可快速搭建系统界面;

4、很强的易用性,不懂开发的人也可使用;

微简公司推出“微简开发方法”的同时,也推出了自己的可用型原型工具vjpage。vjpage也是一套针对web应用程序的前端页面制作工具。无论是否熟悉前端页面开发、是否有美工基础,都可用它快速、轻松的制作出专业、美观的Html5、Ext、jQuery等类型的前端页面。vjpage是***款真正意义上的可用型原型工具。

看似简单的方法,必然会对整个软件行业带来深远的影响。通过体验式开发,使得软件重回简单、实用模式,也让软件真正变得精准、有效,能够真正起到应有的作用,而不是给用户带来负担。这种模式也会把软件开发中的水分挤出来,去掉很多虚的东西,让软件的质量有质的飞越。随着成本的降低、软件质量的提升,软件行业将越来越健康发展。

以下是微简开发方法的具体内容:

1、把事情简单化。

复杂的问题简单化处理。

2、执着于有实际意义的事情。

把精力放在有实际意义的事情上,尽量回避无实际意义的形式主义。

3、以原型为主和用户去沟通。

界面原型是主要的沟通方式。要频繁沟通,不断修改。每周至少两次以上。

4、需求阶段完成90%以上的界面。

需求阶段至少应该90%以上的界面,尽量去追求100%。因为界面包含了绝大部分细节,界面的细化可以把设计、开发过程中碰到的绝大部分细节都和用户讨论清楚,使需求更准确、更完整,***程度的避免需求的反复。

5、使用可用型原型工具,原型就是界面。

使用可用型原型工具来设计界面,避免二次设计、二次确认过程。

6、程序员参与需求分析。

程序员可参与需求过程,与需求人员相互补充。可使后期的开发更准确,可以使程序员尽早的步入需求分析的大门,为公司培养高可用人员。

7、用减法来确定功能点。

尽量用减法来确定功能点,去掉多数可以不要的功能,集中精力把常用的功能点做的简单、实用,真正把用户从软件中解放出来。

8、半咨询式开发,用原型带用户。

多数项目中,用户并不能很明确的知道自己要什么。通过界面原型可快速引导用户主动的沟通需求。

9、不断交付可用版本供用户体验。

开发过程采用迭代方式,部分需求确定时,即可进行开发,并定期提交部分功能的可用版本,让用户及早体验系统,及时修改。

10、快速简单相应。

快速原型、快速软件版本体验。以快速、用户不断体验来达到反复验证的目的,保证正确性。

11、需求阶段界面原型作为主要考量,中后期以可用软件版本作为主要考量。

12、微简法可以独立使用,也可以和其它方法结合使用。

责任编辑:路途 来源: 微简
相关推荐

2011-06-07 22:34:22

RationalInnovate 20软件开发

2015-09-15 09:46:06

AWS云应用商店 软件行业

2021-10-15 10:05:25

人工智能机器学习技术

2011-07-29 17:52:13

云计算软件业

2015-08-31 20:36:51

微简

2014-05-04 13:47:39

锐捷网络极简网络

2020-05-19 10:36:28

人工智能AI软件开发

2015-08-31 17:45:14

微简

2013-08-14 10:43:37

2013-04-01 14:49:36

微信LineWhatsApp

2011-09-20 08:59:57

BroadcomNetLogic微系统

2024-03-11 09:00:00

人工智能软件开发软件编程

2014-10-14 17:53:26

移动小微企业

2022-06-04 16:11:14

勒索软件加密Nokoyawa

2015-07-16 09:52:40

Java9新特性软件开发

2010-08-11 09:15:07

设计模式Python

2017-01-09 18:31:53

微信小程序/白熊技术简

2023-05-15 13:47:58

自动化软件开发

2017-12-28 17:35:43

新零售电商无人超市

2021-11-12 15:26:41

区块链游戏技术
点赞
收藏

51CTO技术栈公众号