发表于: 2018-01-30 22:47:52

1 442


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)

demo 


明天计划的事情:(一定要写非常细致的内容) 

学习


遇到的问题:(遇到什么困难,怎么解决的)

太菜,所以需要学习

 

收获:(通过今天的学习,学到了什么知识)

复盘项目总结

1.开发的整个流程

    (1)从做完项目到开始做复盘,差不多事隔了一周左右的时间,这段时间主要是组建团队、团队每个人的复盘申请评审以及对项目的确定和基本了解。

    (2)复盘开始,是由PM讲需求算起,到方案设计出来是五天。期间由于方案设计的时候需要和前端定一些约定和接口的规范,所以希望当时组建的前端人员可以抽出时间听听需求后,讨论一下方案,但由于种种原因,前端人员决定离我们而去,所以本来打算3天设计好后端方案的被推倒重来。

就是根据公共接口,看里面的一些字段推出实现逻辑,然后将我们需要的数据建成一个一个表结构,

设计出最终所有的数据库表和相应的sql语句、由具体逻辑实现项目需求中提到的功能的方案设计以及和公共接口差不多的接口文档后,通过了方案评审。

     (3)从方案评审到今天是一个月,当时订的做项目时间是一个月的,也就是延迟了5天结束的。方案通过后,就是找我们分院的PM根据需求拆禅道框架,然后进行分模块后有相应模块的人对各自的模块进行任务详情的详细拆分,是的每个任务不超过4个工时,这样其一不回使得一个任务时间太长,导致做起来没有时间观念,林一个就是出现未完成等一些错误的情况下,可以具体到哪个地方,已做好统一,准确解决和判断有误延期风险。

     (4)根据方案设计时设计出来的表,进行公司框架的搭建。这个还是要说一下,搭建框架就是一个人的事,这样不对导致搭建的公司框架不会有太大的问题,和有问题能说的清楚。若是很多人都搭建的,出现问题推卸责任,根本找不到是哪里的错。还有需要强调的一点就是搭建框架和方案设计一样重要,这个有着血淋淋的教训在这,所以一定要对每个module测试的清清楚楚后放到SVN,然后才可以进行下一步。

     (5)将搭建好的公司框架部署到服务器上后,在服务器上再次进行测试 ,测试方法同上一步的测试方法,然后成功后,写出一系列的脚本,比如重新部署,每个service、web的启动和停止脚本,ngin x的配置等。如果有前端的话,首先需要给前端写个部署代码的脚本   让他们对可以很快进入测试环节,节约时间成本。

    (6)最后进行的就是团队人员写属于自己模块的接口代码。写完后先在本地进行测试,成功以后,提交代码然后运行脚本,测试服务器上这个接口是否正常。正常后就可以将禅道上的改任务结束了。

       而其中大家的主要交流就是:1⃣️每天早上的晨会;2⃣️看禅道上的进度及其燃尽图;3⃣️代码上的交流就是在SVN上。所以一定要严格按照敏捷开发的流程来进行开发

    (7)写完以后,对整个项目的所有接口和前端代码一起进行测试,这个过程其实是在上一个步骤中和开发一起进行的,所以在代码写完时,也就说嘛基本功能都已经实现了。然后找师兄等来对我们写的代码进行CodeReview。然后如果有写地方的代码看起来非常乱或写的不规范,就需要进行封装等一些操作。

    (8)最后对代码中的接口进行性能测试,这里又个数据:10个线程开50个循环,间隔时间1s,若是小于200ms就说明这个接口是完全OK的。

    (9)给相关人员(PM,测试人员,项目负责人,项目开发人员)发demo邮件,邀请他们参加demo,最后给出demo结果邮件。

        demo通过后,将代码打tag,并发布到测试环节后,交由测试人员进行测试,若出现bug,则需要在禅道中开bug任务来解决bug,接着测试人员测试完后发上线通知,最后将代码发布到线上环境后开始下一期的开发。demo若不通过,则需要在demo结果邮件中写出具体问题,并约定下一次demo时间,直至通过后执行以上步骤,最后上线。

2.开发中遇到的问题:

(1)客观原因。公共接口确实不怎么好开发,尤其是这样缺前端或者后端的。

(2)主观原因。代码部署不仔细,导致代码出现问题,然后花费了双倍时间来处理这个公司框架的搭建,所以接口编写进行了顺延,加大了工作量。

(3)观原因。服务器部署完以后没有进行测试,所以没能有效的发现搭建的公司框架存在隐患,以致调试代码时间比写代码时间长。

(4)客观原因。确实因为没有前端人员,所以在测试服务器上代码是造成了一些不便和延期。

(5)其他原因。团队人员交流是没有达到最有效的交流,导致一个问题会重复需要确定和修改;还有个人能力的问题,导致属于自己的模块不能按时完成,影响整个团队的开发进程。

3.从整个项目开发中得到的收获

       就目前我们做的这个项目来说。

       首先就是敏捷开发并不是走了什么捷径来提高速度,而是对开发的过程进行了一个流程的划分,来使得整个开发过程可控和可扩展,及就是对于公司来说,可以高效的开发一个版本一个版本,提高产品市场竞争力。所以若是要感受到他所带来的方便,就应该严格遵守这个敏捷开发的流程,严格要求自己,一定要和相关人员及时进行沟通,不要怕背锅。

       其次,对于自己能力的一个要求。就是说为什么大家都是通过时间来体现出整个开发过程的敏捷性,那是因为在前面的过程中,由个人因素导致没有按规定完成相应的步骤。好比最常见的就是方案设计的时候对表字段的命名、相关的约定、涉及到的东西都需要考虑清楚和全面;或者说我们出现的框架搭建过程中由于某些细小的地方没处理好,然后core包一直会报错的问题,导致部署服务器的时候直接打包不成功,然后还不好解决的问题。所以我们需要对自己所处理的事情一定要加倍去努力完成,不使其出现错误,来方便整个团队,和下面每一期的开发者。

      最后,还是要检讨一下自己。在遇到问题的时候,不要想着去责怪某个人或分清是谁的责任,主要任务是去解决问题。不要太暴躁,及时沟通,大家一起商量处理好所遇到的问题,毕竟项目是整个团队的,人人都一样累,一样生不如死。所以要临危不乱,有条理的去处理所遇到的每个问题。(当然无缘无故多出许多工作量确实使人想死)

        总的来说,还是需要时时刻刻提高自己,这样就算由于任何问题导致的不敏捷,你都可以快速的解决问题,不论是方案设计的,还是搭建框架的都可以迅速处理,也就不回有这么多事了。




返回列表 返回列表
评论

    分享到