发表于: 2018-07-02 21:58:48

1 327


今天完成的事:

复盘评审

明天计划的事:

设计方案

遇到的问题:

收获:

敏捷开发流程

一、story讲解

      1.1 制作竞品分析PPT,UE全组参与。(用时:根据产品复杂度,0.5-2小时之内)

      1.2 制作产品原型,交由客户看,客户没有异议之后拆story

      1.3 产品在禅道拆分好story,并且定义出优先级,关联需求,后续开发根据优先级进行开发

      1.4 由产品讲解story,前端和后端都参与。(用时:根据产品的复杂度,1-3小时之内)


二、人员划分

      2.1 新建wiki项目主业,把PPT和产品原型(HTML文件)上传到wiki

      2.2 根据产品原型,按照模块划分相关负责人,前端和后端都是,并放到wiki。(由项目负责人新建)

      命名:xxx项目人员分工(前(后)端) 


三、做方案设计、定义接口文档(2-3天)

       3.1 前端后端相关人员一起,对照原型,根据模块及页面大概定义出接口

             3.1.1 一个页面中有几个接口,每个接口入参与出参是什么

       3.2 后端每个模块的负责人,根据开会讨论的结果,在wiki上生成标准的接口文档

       3.3 将后端做好的接口文档发给前端模块负责人过目,有问题继续修改;没问题开始后续的步骤 。

    

四、方案设计(1小时-1天左右,根据模块大小定义时间)

 4.1 后端开发人员,根据原型以及定义的接口,做好方案设计

            4.1.1 对有难度或者有疑点的接口,做出方案,尽量给出多个合理方案

            4.1.2 每个方案写清楚优点缺点


五、方案评审(2-3小时)

       5.1 对做出的方案设计,做方案评审,建议全体人员参与(无论做不做该项目)


六、禅道拆分(1-2小时)

      6.1 相关负责人按照优先级顺序,在禅道拆分自己的任务,单个任务最多不要超过4小时,即拆分要详细

 

            1. 拆分一个task时,以具体写的代码为一个task,并在任务名称中写出该类/方法的名称在任务描述中写出该task的代码块具体有的功能

            2. 当拆完task后,这几个task所完成功能的代码已经过了一遍

            3. 如果有不了解的功能,在方案评审前先写出一个demo,以方便拆分task的估时

            4. 一个task用时应在0.5-2之间,最大最大4个小时

 

            以文件上传功能为例,分成3个task

               (1) 任务名称:公共模块-文件上传-上传文件controller的方法fileUpload

                    任务描述:通过网页获取文件,文件判空,判断文件的归属类型(用户/教材/课时/步骤/咨询)

                    工时:1

               (2) 任务名称:公共模块-文件上传-添加文件FileUtil 和FileUtilOssImpl

                    任务描述:util处理上传的文件,判断文件类型,大小,设置文件上传的路径,返回的url

                    工时:1.5

               (3) 任务名称:公共模块-文件上传-文件接口spring-fileOss.xml 配置文件

                    任务描述:oss的文件上传, 调用的spring.xml配置文件(密匙,ID,bucket等)

                   工时:0.5


七、开发

      7.1 搭建开发服务器

      7.2 开发人员根据禅道上的任务,按时完成自己的开发工作,具体体现到日报上

      7.3 每天上午开10分钟左右进度会议,如果有延迟现象出现,拿出解决方案,保证项目按照禅道上的时间点完成

      7.4 数据库索引:

两种索引:1.经常查询的,数据散列度比较高的,做一般索引,不需要建联合索引。2.数据必须保持唯一的,建唯一索引。

    

1、要有文档,文档表明哪些字段要建索引。发邮件。


八、阶段测试

       与开发并行

       8.1 每天至少发布一次代码到开发环境,并且保证发布完之后程序没问题


九、性能测试和coderevivew(1天)

     9.1 对每个接口做好性能测试

            9.1.1 每个接口的响应时间不超过200ms,如果有超过的,做优化,尽量缩小到200ms内

      9.2 完成codereview,根据codereview结论完成修改


十、压力测试

     10.1做好压测报告


十一、 Demo

1、发demo申请邮件,收件人包括产品、测试同学、前后端相关开发人员

      主题:XX项目demo通知

      内容:时间 地点  参会人员

2、开demo会议:主讲人:某个开发人员

     会议途中产品和测试提出问题

3、发demo结果通知邮件(由产品同学发)

     内容包括:1、demo结果  2、如果不通过,有哪些问题

4、如果不通过,召集第二次Demo会议,知道通过为止。第二次会议只需演示之前不通过的部分

 

11.2 测试

1、demo通过之后,1:开发人员对代码打tag  2.开发人员部署测试环境,部署完成之后发邮件,写明域名;3:交给测试人员进行测试,测试人员发送全体测试周期邮件

2、测试期间,如果有测试发现bug,会在禅道上面提出bug,禅道会发送邮件到各自开发人员的邮箱,开发人员要关注BUG邮件 ,及时确认BUG,及时修改

3、修改BUG之后,开发环境前端代码由前端同学自己部署,后端代码由后端同学自己部署

                               测试环境每天的下午6点由后端同学统一部署前后端代码

4、测试完成之后,测试或产品发送上线通知

具体参看:测试Bug划分及处理流程

测试和线上环境发布流程:测试及线上环境发布流程

 

十二、 发布测试环境、集成测试(2-3天)

      12.1 禅道上建立bug,测试出bug,指派给相关人员修改

 

十三、发布线上环境,同时停止开发环境和测试环境


十四、线上监控


职业素养

1、责任:

责任是一种自觉的意识,表现的平常而又朴素.只有能够承担责任,善于承担责任,勇于承担责任的人才是可以信赖的人,责任是一种努力行动,让事情的结果变得更积极的意识。


2、价值:

作为team的一员,要知道自己可以为团队带来什么价值.每个人的能力都是不同的,给自己定好位,发挥出自己最大的价值。


3、协作:

对于团队成员来说,不仅要有个人能力,更要有在不同的位置上各尽所能、与其他成员协调合作的能力,而团队协作,就是在团队的基础上,发挥团队精神,互补互助以达到团队最大工作效率的能力。


4、时间:

开发过程中主动给自己安排时间,制度计划表,不要让别人干涉自己的时间,当时间有变动的时候,及时通知相关人员,解释原因,并给出下一个时间点。


5、推动力:

遇到问题,主动去寻找解决问题的办法,而不是放置问题不管。因为程序员的工作很少是独立作战,需要的是一个团队共同完成,难免需要跟一个团队的人打交道。也许一开始会遇到一个陌生的团队,难免会因为一些协调问题,或者工作中的疑难点导致进度拖慢,这个时候不能因为问题不在自己就不去理睬,而是需要积极询问问题为何而来,配合加快解决问题的进度,使问题不去干扰工作的进度。



返回列表 返回列表
评论

    分享到