迭代思想

在学生时代迭代这个词听过很多次,但当时的概念只是觉得所谓迭代就是不断更新版本,没有一个比较完整和深入的概念。到现在入职接近一百天的时候,对迭代这个词有个更加全面的认识和理解。


我认为迭代有这么几个过程:分解、制定优先级、开发。


分解,就是将一项庞大的工作进行拆分,这个拆分也有讲究,拆分的粒度不能太小,比如你不能把一个网站的功能拆分到字体编辑、颜色编辑、复制粘贴等等,最好是按照功能点来拆分,比如前面这几项就可以当做一个功能点:文字编辑,这样拆分有一个很大的好处,我后面会讲到。


制定优先级,也就是说拆分完后你需要对拆分后的功能划分优先级,以门户网站为例,需要考虑哪些是一个门户的核心功能,也就是说要建立一个门户网站哪些是必不可少的,比如菜单、文章的上传和编辑、评论等,有了这些功能,你的网站才能让别人知道是一个门户网站。另外像用户登录注册,用户投稿这些功能,也是门户网站的重要功能,但是优先级比前面这些必须功能要第一点,这个过程就是制定优先级。


制定好优先级之后,就要按照制定的优先级来进行分批的迭代,这里也拿素描来举个例子,我不是专业的,可能不是非常恰当,但是足以说明问题。素描的时候有两方法,第一种,可以从上到下一级一级来完成,第二种,先描出一个整体的轮廓,然后再完善每一部分。这两种方法各有各的好处,第一种是先把每一部分都完成,然后拼装起来就好,这样做后期的维护成本较小,因为在开发过程中每一部分都是完整的较为完善的一部分。第二种方法的好处就是在项目初期就可以看到整体素描的一个轮廓,然后再按照模块去细化。在互联网公司采取第二种方法进行迭代的较多,我认为主要是由于互联网行业发展较快,等你把每一部分都完成好再上线可能市场早已经被占领了,所以大都是先提供一个可用的版本,让用户先用起来,然后逐步完善。在这种情况下我前面说的按照功能点来拆分的好处就凸显出来了,我们完全可以把核心功能当做第一个迭代,保证网站可用尽快上线,上线后再分多批进行其他功能的迭代,工作中我发现几乎所有的项目开发都采用这种模式,当上一次的迭代还未结束时下一个迭代已经开始,所有的应用都伴随着一次次的迭代和重构。


其实迭代的思想在生活和学习中也完全可用,比如你要学习spring这个框架,刚开始应该是去了解什么是spring,spring可以提供什么,整体的框架是什么样的,你还可以试着跑一下框架,这就是第一次迭代,然后再去分模块学习,学习最核心的AOP和IOC,自己写代码跑一下,以此方式来学习。包括生活中,很多事堆在你面前,你怎么去处理,同样首先可以把这些事分解一下,制定一个优先级,首先去解决最重要的事里面最重要的模块,这样一步步把“迭代”解决。用这种方式来做事有一个最大的好处,就是在解决问题的同事你会逐步获得成就感和满足感,比如当你首先把一个spring框架跑起来之后你会很容易获得成就感,以此来不断激励自己。相反,如果从前往后一点点去啃一本书,不仅会觉得枯燥,对自己的信心也是打击。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值