胡天硕
阳光伟业 产品部
传统软件开发




做一个完美    把开发分为   预期会有完
 的计划     明确的阶段   美的结果
传统软件开发的弊端



需求    时间   其他

不明确   延期   缺乏测试


变更    浪费   透明
上次我们谈到了敏捷方法,
有谁还记得敏捷如何克服这些问题?
敏捷
                         无法用少量/水平
                         低的人做出很多/
                         高质量的东西




Dilbert:我们还需要三个程序员
Boss:用敏捷方法

Dilbert:敏捷方法不是用更少人干更多活

Boss:那你去给我找一种概念能够做到这点
SCRUM是针对软件开发

 他不能保证    他可以做到

 缩短项目时间    高效执行


 研发出好的产
           减少浪费
   品
敏捷宣言说




个体和交互胜过流程和工具
SCRUM的严格规范
SCRUM
                               不是随意而为的




Boss:今天我们要学习一种叫做敏捷开发的东西

Boss:从此以后,不用写计划,写文档,直接写代码和抱怨

Boss:培训结束
Coworker:原来这个还有一个名称啊
SCRUM是有明确的定义且必须配合严格的执行
不是按照SCRUM规范执行,就不叫做SCRUM
SCRUM有明确的层次
SCRUM有明确的角色
SCRUM有明确的过程
SCRUM有明确的文档
SCRUM有明确的层次
SCRUM
                        层次
产品
     •时段:产品周期(几个月到一年)
     •前期偏策划设计/后期偏测试运营
     •包含多个冲刺周期




     •时段:1-4周

冲刺   •时段内需求不变
     •包含多个每天周期




每天   •时段:一天
     •干活
SCRUM有明确的角色
SCRUM
                              角色




有一天鸡对猪说:“咱们开个早餐摊吧”。
猪说:“好啊!做什么?”
鸡说:“做烧饼夹肠夹蛋。”
猪说:“我不干,我把自己全搭进去了,而你只是参与而已”
如果软件项目挂了你没事情
用户,经理,市场部,其他人                 SCRUM
不要捣乱!!                        角色




如果软件项目挂了你就失业了
Scrum Master,Product Owner,
Team
SCRUM
                         角色




Product Owner

      产品就是你的,你来定义成功
      你是船长,你负责产品需求的优先级
SCRUM
                              角色




Scrum Master

      不同于项目经理,负责的SCRUM流程的进行
      他是教练,教育团队和PM,挡住所有外来干扰
      认证一个SM的费用在5K左右
SCRUM
                                  角色




Team

       高效和自主的跨职能团队 5-10人
       负责执行研发,执行过程中可能用XP等敏捷编程方法
       例如原来的技术经理/架构师可以成为团队骨干
       (不再有人安排别人的开发进程)
SCRUM
                          角色




其他的人

   虽然说用户是上帝,领导是发工资的
   但是抱歉,这个团队干起活来,就不能被干扰
SCRUM有明确的过程
产品层次


       •编造用户                    SCRUM
用户故事   •模拟故事                    过程
                                产品层次

               •哪些是必要
       价值点     •哪些是重要
               •哪些差异化



                        •简要说明

               功能列表     •详情
                        •重要性
                        •时间
用户故事


                               SCRUM
                               过程
                               产品层次




 Dilbert:抱歉,我不能第一个版本实现这么多功能点

 Dilbert:况且每一个功能点应该对应一个“故事”

 产品经理:好啊,故事是这样的:“给我完成所有功能,
 否则我让你这辈子不好过。”
冲刺层次


                     SCRUM
                     过程
                     冲刺层次




   完成产品列表的最重要的几个功能
最重要的两会 - 主持人Scrum Master


    启动              验收     SCRUM
                           过程
                           冲刺层次
  团队从列表中            PM看到
     选任务           可展示结果

                    反思如何
  团队估计时间
                    改进效率



             执行
最重要的两会 –闲杂人等


                      SCRUM
                      过程
                      产品层次




       启动会议    验收会议
       不能参加    可以参加
最重要的两会 - 主持人Scrum Master


    启动              验收     SCRUM
                           过程
                           冲刺层次
  团队从列表中            PM看到
     选任务           可展示结果

                    反思如何
  团队估计时间
                    改进效率



             执行
每天站立会议


                                SCRUM
                                过程
                                每天层次




 Scrum Master主持,团队必须全部参加
 PM建议参加
 “鸡”可以参加,不能说话
 时间要短
 不要展开
 回答三个问题           昨天干什么了?
                  今天要做什么?
                  下一步会遇到什么问题?
Scrum Master防止每天的干扰


                         SCRUM
                         过程
                         每天层次
                下次冲刺

                停止冲刺




     多任务        预留一段时间

                停止冲刺
SCRUM有明确的文档
文档只有两类

                   SCRUM
                   文档

Jira     Excel表格


         看板+燃尽
           图
产品层次的功能列表


基本信息    时间      重要性    SCRUM
                       过程
•ID            •由PM定   产品层次
       •PM预估
•名称            •经验上,
       时间
•解释             粒度要大
       •不安排
                一些
•注释     开始和完
       成时间
产品层次的功能列表


            SCRUM
            过程
            产品层次
冲刺层次的功能列表


基本信息    时间      重要性    SCRUM
                       文档
•ID    •团队合作   •由PM定   产品层次
•名称            •经验上,
       预估时间
•解释             粒度要大
       •这次冲刺    一些
•注释     完成
       •眼大胃小
        系数
冲刺层次的功能列表


            SCRUM
            文档
            产品层次
SCRUM
          文档
          看板




要符合业务流程
SCRUM
      文档
      燃尽图




燃尽图
Scrum就是这样的
SCRUM有明确的层次
SCRUM有明确的角色
SCRUM有明确的过程
SCRUM有明确的文档

Scrum培训