码迷,mamicode.com
首页 > 其他好文 > 详细

聊聊敏捷开发

时间:2017-03-05 23:32:24      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:bsp   开发流程   http   emc   架构   lock   工程   系统测试   memcach   

  从我个人入行短暂的经历来看,敏捷开发和瀑布开发两种软件开发流程是现在的WEB开发中提到的比较多的。工作中也有大牛们分享对两种开发流程的优缺点的比较分析,但我个人是没有经历过瀑布开发的,没有经历也就谈不上理解。下面就站在一个软件开发工程师的角度,谈谈我个人对敏捷开发的一些理解。

        技术分享

图1 对敏捷开发的理解

  如上图所示,软件开发的一般流程可以认为是:需求分析、系统设计、系统研发、系统测试,最后也就是系统上线。敏捷开发之所以敏捷,我认为是对总体的项目进行了分解,项目并非一次完成目的,而是分解成了多期的小目标,逐个递进,予以执行。那么首先进入的是第一阶段,可以说是了解项目的核心目标,满足用户的基本需求。

  在需求分析阶段,也就是确定“我要做什么”,这个时候以产品团队的担子为最重。产品经理需要了解用户的需求,提炼业务的精髓,确定产品的功能,也可以说是想好产品故事。

  在系统设计阶段。也就是确定“我要怎么做”,这个时候担子就到开发团队来了,架构师或者资深研发工程师就要出来攻坚了。框架用SpringMVC还是SSH,数据库用mysql还是oracle,缓存用redis还是memcache,同时最关键的一点,这个时候的成果里必须要有项目的第一版数据字典。

  在系统研发阶段,担子同样是主要落在开发团队。现在的框架基本都采用MVC的设计模式,后端开发和前端开发基本并行,在开发基本结束的时候直接进行联调就可以了。

  系统研发结束后,需要由测试团队进行系统测试。严谨的系统测试团队还会编写严格的测试用例,小团队在开发过程中可能主要测试一下系统的流程是否通畅,把BUG都找出来。然后反馈到开发团队,由开发团队进行修改再测试。

  测试无BUG之后,就代表可以由实施人员将代码上线了。通常情况下新功能会包括有上线脚本、代码、上线必要操作三部分。新代码的执行需要依赖脚本,新代码的作用发挥需要依赖于刷新缓存等上线必要操作。

  在这几个过程中,敏捷的要义主要体现在产品研发以小任务为周期,大项目被划分为几期小项目来分期实现。系统上线后并非产品研发结束,而是新一期产品研发的开始。新的开始可以是新的需求,也可以是一个上线后出现的BUG。产品对于用户需求的变更能够很快地调整过来,这大概就是敏捷的重要体现。

 

聊聊敏捷开发

标签:bsp   开发流程   http   emc   架构   lock   工程   系统测试   memcach   

原文地址:http://www.cnblogs.com/tuofan/p/6507217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!