软件开发模式

        关于研发工作

         研发工作是包括研究和开发,这是两个不同的领域。

         先讲开发领域,其实这里所谓的开发已经有点面向软件实施的过程了。这种情况下可以遵循一般的软件管理的逻辑。招聘相关的人员,组成合理的布局。

         而研究领域,则无所谓一个完整的团队建设,主要针对个人或小团队的范围。


        名词解释
        我所在的公司是一个中小型的公司。中小型的公司软件的开发方法很多都是基于快速原型及敏捷开发。
        快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。 通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
       非官方的解释是:用户和你都不太明确他想做什么软件,先让你做个简单的样板看看,符合胃口的话再继续做。就好像你想到市场上买把武器,但不知道选剑好,还是选刀好。这时候你就让伙计把他所有的兵器拿出来,你觉得哪种适合你,就为你打造那种。


        优缺点
        很多公司应该利用这种开发方法发展的很好,因为这样做的成本低,风险相对小。假如是基于其他引擎做二次开发或者上层开发,那么这种开发方法获得的效果更加大大的好。这点好像解释了为什么短短两三年,手机软件每天都会以上万计的被开发出来(暂时不讨论其中的质量问题)。
       
       自然的,这种方法也存在不足。为了快速响应用户的需求,你就得加班了。所以本来是一项创造性的工作会变成一种劳力工作。真正能够读懂用户的需求,或者能创造性的做出让用户耳目一新并放弃他原本心中弱小的但又包含固执想法是很困难的,更不幸的是,有些项目参与者会坚持把自己的想法套在上面,因为那样会体现一个人在项目中的作用。
      加班其实还只是表面现象,其实质却可能包含了更多的猫腻。看似风光的开发过程,其实做更多的开发也可能只是量的改变。我们都知道,人以上年纪,就看重经验,就会用以前的经验去判断事情将怎么去做。同样的,一种能够快速成功的方法,会让人认为这种方法可行。假如你用原型开发方法获得了成功,那么你就或多或少的被这种方法所吸引,从而减少对所作工作的知识的积累。所以到头来,你虽然拥有很多的成果,但他们之间的关系却没有形成网络联系。


        飘渺的办法
        既如此,那为何不采用更高级的开发模型呢?不过好像更高级只说应该不存在吧。每个公司,每个项目会有各自的特色,强行套用别人的方法恐怕会死的更早。我们知道当前世界有家公司比较特别,他就是苹果,他可以对用户的期望置之不理,直到发布了,你才知道他的产品的庐山真面目。我想这样的人才还是不多的,很多公司走出来就是为了赚钱,这也是他们的生存之道,如此的剑走偏锋他们吃不消的。
        大型的公司会有专门的人负责底层的设计,然后另外的人在上面做功能开发。这样做,就好像自助餐的盘子,盘子够大,上面管你放汤,放水果还是放生鱼片。这样好像不错哦。
        不过中小公司却用不了,因为完全负责底层设计的人而能够适应上层开发的人在这些公司很难找,存在一两个也可能不够数。很多人会说为何公司舍不得放长线钓大鱼。我想这样的想法有点理想。现实社会不是你敢闯就会赢,你得有资本,要么是头脑好使,要么赔的起运气好。两者都没有,犹如蚂蚁撼大象。 当然上面的说法忽略那些可以这么做,但不敢做的人。


        或许的办法
       上面看起来是一个死循环。既需要类似快速原型的方法来实现目标,又会被这种方法折腾的够呛。要突破这个死循环,或许再增加一项工作可以避免。这项工作大点的说是叫业务重组吧,小点的说是代码重构。
        业务重组不是我创的名词,本来就有的。简单的说就是对企业的功能进行重新划分。这个部门做什么,那个部门做什么。业务重组重新梳理公司的业务情况,归并功能相似的业务,分撤具有多个流程的业务。对于原先使用快速原型的公司做了很多产品的公司,能够找到相同类型的项目,然后提取出公共的部分,新的类似项目就在此公共的部分进行开发。
        代码重构,它适合于在一个项目内部来提取底层接口。简单的说就是你做一点东西,发现以后将会有类似的功能,或者以前就存在类似的功能的时候,就提取一个接口类。其实本来也应该这么做的,但人嘛,一则不能完全判断哪些是相似的,二则嫌麻烦,提取接口内核后会产出新的问题,三则对这样做是否值得,是否符合时机都存在疑问。


      上面的是2013年写的。到了今天快速原型开发还是中小企业的选择方式,但敏捷开发已经开始在大公司进行展开。快速原型的缺点诚如那时候所写,面临着产品并丢弃,质量差,难修改的问题。而我上面提到的方法虽然名称差了,但是思路看起来是对的。我们仍然也必须时刻做好对每个小的功能的完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值