敏捷开发的思路

一。产品思考的两个层次:

       1. 通过电子化,系统化,改变手工,纸质化的工作方式,提供工作效率

       2. 通过软件开发协助销售部门找到销售的增长点,同时使IT部门从成本中心变为利润中心

 

二。软件开发的流程:

       1. 产品需求

       2. 编码

       3. 测试

       4. 部署

       5. 上线

 

三。 软件开发的模式:

       1. 瀑布式开发

       2. 敏捷式开发

 

四。敏捷式开发概述:

     (一) 特点: 

               1. 短周期迭代

               2. 产品失败后,成本小

               3. 风险迁移  

     (二)适用场景:

              1. 需求不是很明确,会经常变更的环境。

              2. 需要快速响应需求方。

五。短周期迭代

  1. 收集需求,
  2. 需求排优先级,确认耦合关系
  3. 迭代1
  4. 再排优先级
  5. 迭代2

     。。。。。。。。。

六。 风险前移:风险发现的越早,消除风险的成本越低

      (一)需求的全面性:

             1. 功能需求

             2. 界面需求

             3. 非功能性需求:例如,并发数的考虑,性能的需求

             4. 浏览器需求

             5. 系统影响

             6. 数据分析的需求

     (二)设计图:

             1. 产品,开发,测试在编码前出整体的设计图,并对设计图达成共识

             2. 组织架构的设计:

                 2.1 产品线team模式:产品人员,开发人员,测试人员(便于沟通--敏捷开发推荐)

                 2.2  职能team模式:产品team,开发team,测试team(便于管理)

     (三)结对编码:

             1. 松结对:共同需求和设计,各自编码,交叉复查

             2. 强结对:所有环境两人均参与,效率较低,但是bug很少,适用于底层代码的编写

     (四)项目透明化:

             1. 故事墙

             2. 每日站会

     (五)多版本并行:

              1.0.0  =》 98% 用户使用

              1.0.1  =》 1%   用户使用

              1.0.2  =》 1%   用户使用         

      (六)工作流模式: 

              多项目并行时,形成流模式,各个环节均有序(需求,编码,测试,部署,完成)

               要求对需求拆分,合理安排各个环节的工作,既不要让所有的工作的都阻塞在某个环节里,导致下个环节人员没事可干

         

七。开发中存在的问题点:

     (一)产品经理如何做计划及上线时间的估算

     (二)开发经理如何对开发周期做估算

     (三)测试人员在多产品线并行的情况下如何处理

     (四)开发人员对产品需求质疑,如何处理

     (五)多版本并行及ab测试下,版本更新很麻烦如何处理

     (六)代码优化的时间点在哪个环节比较合适

     (七)需求拆分如何做,谁来做?设计图谁来做?

  

 

 

 

 

posted on 2014-03-01 18:43  晓风残梦  阅读(2435)  评论(0编辑  收藏  举报

导航