基于SCRUM方法实践的西油计科党建设计与实现
序言
所属课程 |
https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign |
作业要求 |
|
团队名称 |
卓越Code |
作业目标 |
(1)团队成员的学号列表 (2)成员两天完成的工作情况 (3)绘制燃尽图 (4)PM总结 (5)Beta版本与Alpha版本不同的地方 (6)使用说明 (7)总结 |
一、团队简介
团队名称:卓越Code
团队口号:宁为代码累弯腰,不为bug点提交
项目名称:基于SCRUM方法实践的西油计科党建设计与实现
姓名 |
学号 |
博客园 |
魏家田 |
201731062307 |
https://www.cnblogs.com/dwyy666/ |
曾文杰 |
201731062520 |
https://www.cnblogs.com/zwj-958654064/ |
魏川程 |
201731062312 |
https://www.cnblogs.com/chopinc/ |
罗伟诚 |
201731062309 |
https://www.cnblogs.com/lwcblogs/ |
杨苹 |
201731062404 |
https://www.cnblogs.com/step-enter/ |
冯俊霖 |
201731062311 |
https://www.cnblogs.com/linls/ |
王柄钞(队长) |
201731062518 |
二、scrum流程明晰
2.1 Scrum流程三个角色明晰
产品负责人(Product Owner):魏家田
Scrum Master:王柄钞
Scrum团队:王柄钞、魏家田、曾文杰、魏川程、罗伟诚、冯俊霖、杨苹
2.2 Scrum流程三个工件明晰
2.2.1 Product Backlog产品订单
党员工作站组织管理、党员管理、任务管理、活动管理、积分管理、参与组织活动、在线学习、交流互动、个人申请、知识库、微党课、每日一测、考核测评、建言献策、书记信箱、匿名举报、随手拍。
2.2.2 Sprint Backlog冲刺订单
冲刺版本 |
具体主要功能 |
预计时间节点 |
功能重要性 |
第一版本:党员管理平台 |
组织管理、党员管理、活动管理、积分管理 |
10.5-10.15 |
基础功能 |
第二版本:党员服务平台 |
活动报名、交流互动、在线学习、个人申请 |
10.19-10.26 |
|
第三版本:学习培训平台 |
知识库、视频库、考核测评、每日一测 |
10.25-11.4 |
|
第四版本:管理分析平台 |
建言献策、书记信箱、匿名举报、随手拍 |
11.8-11.18 |
扩展功能 |
Beta版本 |
修复完善各负责模块中bug,小程序上线 |
11.19-12.2 |
完善功能 |
2.2.3 Burndown chart燃尽图
见文章下第四节;
2.3 Scrum流程五个活动明晰
2.3.1 Sprint冲刺
我的理解就是在我们重暑假一直到开这门系统分析与设计的课程开始,乃至正式开发之前都在进行这样一个过程,那就是在这段时间内构建了一个“完成的”、可用的和潜在可发布的计科党建小程序增量。并且在整个我们开发过程期间,Sprint的长度通常保持一致。
2.3.2Sprint planning meeting冲刺计划会
小组团队是在每十天快结束的时候,由队长master组织,PM决定本阶段产品冲刺结束时,计划下一阶段的冲刺订单,并把功能细化,让团队队员分别认领任务。
2.3.3 Daily standup meeting每日立会
由9.26日到12.2日,其中在alpha阶段我们根据自己的实际情况,确实因为不能像公司那样每天开这样的立会,但是我们还是结合我们的项目和我们的其他课程学习安排,坚持至少每三天开一次例会,并由master做好会议记录;在beta版本阶段我们按照本课程的需要两天召开立会做最后严格做好会议记录。
2.3.4 Sprint review冲刺评审会
本项目到最后阶段,总共举行五次冲刺评审会,主要由master主持召开,并邀请学院领导和辅导员与我们的PM一起对我们的项目一起做冲刺评审会,听取他们的建议,并进行验收我们的冲刺阶段的实现功能是否达到本阶段的冲刺计划会的预定要求。结合我们的学生课程学习的实际情况期间总共召开alph版本冲刺评审会四次,beta版本一次,其中学院领导参与第一次和最后一次。
2.3.5 Retrospective meeting回顾会议
因为结合我们学生的学习实际情况,我们每次的冲刺评审会结束就是回顾会议,最后便是下一阶段的冲刺计划会。因为时间很紧,所以我们将三个会议都在一次开完,即便如此我们都依然严格遵守scrum流程,期间若有队员以及组长没有达到要求的我们团队内部都有自己的惩罚,以及相应的奖励。
针对回顾会议我们也召开了不低于五次,会议开始的时候master给我们的没一个组员,发便帖给每个团队成员也包括我自己,给大家5-10分钟自己写下自己觉得过去迭代中做到好的事情,还有做的不好(或者待改进的事情),写完给我把他放在一起,对所有的事情归类汇总,大家一条一条过,并且进行讨论。最后选出比较好的前三个进行讨论。其次我们讨论完了之后我们也会对我们自己做完了的项目总有一些感概的,包括吐槽。自己会在最后发言总结一下,不影响队员的发言。
2.5.6 Scrum流程五个活动图
三、scrum冲刺立会记录情况
3.1 团队站立会议21次记录情况
针对会议记录我们严格按照会议的召开情况进行了excel会议记录情况,总共针对五个冲刺版本做了不同的记录情况,会议记录主要体现了我们队员的每天的任务完成情况以及遇到了什么问题下一阶段应该如何解决;
这里因为内容较多,我就只展示了第一次站立会议记录,剩余的21次会议记录就以附件的形式展示,因为内容较多衷心感谢助教的辛勤评阅。
会议记录附件:
https://pan.baidu.com/s/1mGndTwWEw2_vz5OALrBXDg
3.2 team-scrum实践个人任务完成清单
特别说明针对每天队员的beta任务完成情况截图,我将队员从开发到最后冲刺版本结束形成了team角色个人里的任务清单(里面详细记载了队员每天的完成情况特别是beta版本),感谢助教评阅。
最后我们也针对队员的scrum冲刺情况,记录了五个冲刺阶段,每三天自己的完成情况以及自己的冲刺清单,分别体现在队员的博客中,特别是在beta版本阶段缩短实践争取最后冲刺两天进行一次会议记录特别体现了任务具体化截图展示形式,因为内容较多衷心感谢助教的辛勤评阅。
姓名 |
基于SCRUM方法实践的西油计科党建设计与实现 个人实践流程任务清单 |
魏家田 |
|
曾文杰 |
|
魏川程 |
|
罗伟诚 |
|
杨苹 |
|
冯俊霖 |
|
王柄钞(队长) |
四、scrum冲刺燃尽图记录情况
本开发过程主要是在我们每次站立会议结束后会绘制当前版本的燃尽图消耗情况,在前面四个冲刺阶段是三天绘制一次图,在最后冲刺beta版本阶段是两天绘制一次图,展示情况如下:
这里因为确实是,我们每次例会结束都是绘制了当阶段相对上一次立会燃尽图的数量的减少情况,所以为了展示的更加直观就整体展示了我们冲刺版本的燃尽图的整体绘制完成情况。(因为作业要求是beta每两天一张图,然而这里我只展示了一张beta燃尽图的原因就是:这里的beta燃尽图就包括了,我们由beta冲刺计划会开始产生的燃尽图总数量,到最终beta冲刺评审会结束的每天的绘制整体情况,里面就包括了我这15天每天的绘制结果,所以请助教不要再这里扣分哈!!!谢谢)
第一次Sprint党员管理平台燃尽图情况
第二次Sprint党员服务平台燃尽图情况
第三次Sprint学习培训平台燃尽图情况
第四次Sprint管理分析平台燃尽图情况
第五次beta Sprint燃尽图情况
五、PM总结
时间 |
总结 |
2019.11.18-2019.11.20 |
在这个两天里我们总共完成的工作有学院微信小程序的提交审核与开通、数据库服务器配置的一些细节漏洞、解决了网站首页公告不能正常显示的问题、优化了党员登录注册的逻辑、修复了党费缴纳的bug、对小程序党员信息修改提供了重新选择选修、完善了小程序内的数据、将匿名举报随手拍的信息收集上传到了数据库中,这是我们team内每位成员的两天的成果,也达到了我们冲刺评审会大家认领的Backlog,大家也很努力都很配合。 |
2019.11.20-2019.11.22 |
在这个两天里面我们完成修复了小程序视频上传终断和失效的bug、修改了网站视频路径错误的地方完善了视频地址、优化了党支部的权限问题而不仅仅局限于管理员、解决了留言管理的无法显示和隐藏的问题、对最新通知和公告显示开发完成、修改了学院要求的小程序布局颜色、增强了他的友好性,这个两天基本达到要求,但还有很多不足,比如还没有完成视频正常播放、扫码失效的问题,下一个两天争取赶上来。 |
2019.11.22-2019.11.24 |
在这两天里面我们通过了小程序的官方审核(确实很难过审核等了将近两个月)、并发布前面整合完成的第一个版本、解决了上一个两天没有完成的二维码失效的问题、对管理层里面的单位、党支部、学院分级管理重新优化了权限管理、解决了业务审核的时间和提交时间的冲突问题,考虑服务器比较小使用了ajax速度优化防止访问人员过多访问拥挤的问题、解决了评论管理的删除不成功问题、增强了党建小程序的外观体验样式提高了用户体验,继续完善了视频播放的问题(已解决),本两天里面虽然组员都有自己的学习任务,但是大家还是很配合我并积极完成了自己保证下的任务,很棒,我们继续下一个两天再接再厉。 |
2019.11.24-2019.11.26 |
这两天里面我们主要解决了视频播放卡顿flash不流畅的问题、解决了每日测评的题目csv文件导入的乱码的问题、重新配置了解析前端交互的json数据问题、使用Performance Runner完成了对网站的压力测试,完善了书记信箱的处理回复功能、正价了活动内容细节显示的功能、解决了小程序活动报名显示成功后但是后台不能取消的漏洞增加了一个取消的button,实现了后台签到和取消活动,组员分别测试整合的代码、最后新了新的小程序上传到微信后台提交审核,最终通过了审核完成了第三个小版本的上线工作。本两天队员们虽然有点疲惫对这个过程,但是我们还是相互鼓励,我们的项目即将完成,在上线通过的时候大家心情还是喜悦的。加油下一个两天。 |
2019.11.26-2019.11.28 |
这个两天解决了后台更改党员和组织信息报错的问题,并将最新代码进行了整合,解决了网站交互是的问题以及json的细节配置,对网站和小程序后台进行了分布式存储利用注册中心zookeper进行调度重构我们的功能模块代码分别部署在不同的ip上进行zookeper中心调度避免服务器超负荷访问崩溃的问题。实现了后台可以直接对党员积分修改的功能、对党员签到界面进行了美化、增加了后台管理的对微信小程序的基础配置功能。 |
2019.11.28-2019.11.30 |
本两天增加了小程序增加了小程序首页导航的动态化调整以及动态管理导航图标以及名字链接、增加了轮播图片模块中上传的图片、解决了分辨率问题无法显示完整的问题、编写了党建《软件使用说明书》、增加了分布式文件系统存功能吧我们的上传的视频、图片文件用HDF文件系统进行存储,并用Tracker做监听、Storage做实际存储解决了服务器文件丢失和拥挤的问题。这两天超额完成了我们的既定任务,大家也期待我们的beta版本即将结束。 |
2019.11.30-2019.12.02 |
这两天我们主要增加了一个系统帮助功能方便用户的使用和管理、解决了学习页面无法获得相应的积分记录的问题、对网站和小程序前端后台进行单元测试和整体测试形成最终的测试报告,并最终把形成的代码打包推送到微信后台提交审核,最终通过审核,并最后一次邀请学院领导进行冲刺评审会验收我们的beta版本项目是否满足要求,最终通过验收基本完成既定的功能,最最后我们小组进行了最后一次小组冲刺回顾会议并对整个beta版本进行了回顾和总结。顺利结题。 |
六、Beta版本区别Alpha版本
Alpha较β版本区别一览表
分类 |
项目 |
Alpha版本 |
β版本 |
sprint基础功能对比完成情况 |
组织管理 |
√ |
|
党员管理 |
√ |
|
|
活动管理 |
√ |
|
|
积分管理 |
√ |
|
|
活动报名 |
√ |
|
|
交流互动 |
√ |
|
|
在线学习 |
√ |
|
|
个人申请 |
√ |
|
|
知识库 |
√ |
|
|
视频库 |
乄 |
√ |
|
考核测评 |
乄 |
√ |
|
每日一测 |
√ |
√ |
|
建言献策 |
〤 |
√ |
|
书记信箱 |
〤 |
√ |
|
匿名举报 |
〤 |
√ |
|
随手拍 |
〤 |
√ |
|
修复bug对比情况 |
小程序跳转问题 |
〤 |
√ |
管理端组织权限问题 |
〤 |
√ |
|
组织后台管理上传文件缓慢 |
〤 |
√ |
|
文章分类列表问题 |
〤 |
√ |
|
数据库服务器配置 |
〤 |
√ |
|
党员登录注册的逻辑 |
〤 |
√ |
|
党费缴纳bug |
〤 |
√ |
|
视频上传终断和失效 |
〤 |
√ |
|
网站视频路径错误 |
〤 |
√ |
|
党支部的权限问题 |
〤 |
√ |
|
留言管理的无法显示和隐藏 |
〤 |
√ |
|
按学院要求修改了的小程序布局颜色 |
〤 |
√ |
|
签到二维码失效 |
〤 |
√ |
|
权限管理 |
〤 |
√ |
|
业务审核的时间和提交时间的冲突问题 |
〤 |
√ |
|
评论管理的删除不成功问题 |
〤 |
√ |
|
视频播放卡顿flash不流畅 |
〤 |
√ |
|
测评的题目csv文件导入的乱码 |
〤 |
√ |
|
后台更改党员和组织信息报错的问题 |
〤 |
√ |
|
解决了分辨率问题无法显示完整的问题 |
〤 |
√ |
|
新增功能对比情况 |
党员信息修改重新选择 |
〤 |
√ |
书记信箱的处理回复功能 |
〤 |
√ |
|
活动内容细节显示的功能 |
〤 |
√ |
|
活动报名取消或签到功能 |
〤 |
√ |
|
小程序首页导航的动态化调整功能 |
〤 |
√ |
|
增加了轮播图片模块中上传的图片功能 |
〤 |
√ |
|
优化功能情况对比 |
ajax速度优化 |
〤 |
√ |
Zookeper注册中心进行调度解决高并发 |
〤 |
√ |
|
党员签到界面美化 |
〤 |
√ |
|
增强了党建小程序的外观体验样式 |
〤 |
√ |
|
增加了分布式文件系统存功能把之前直接上传到服务器的视频、图片文件用HDF文件系统进行存储,并用Tracker做监听、Storage做实际存储解决服务器文件丢失和拥挤的问题 |
〤 |
√ |
|
|
注: √代表超额完成(验收通过),乄表示在alpha版本中存在此问题,〤表示alpha未实现次功能或未解决此问题; |
七、软件使用说明书
这里我将队员申请软著的软件使用说明书发布了出来,就没有直接体现在这篇博客里感谢助教评阅。
https://www.cnblogs.com/linls/p/11976699.html
八、团队总结
姓名 |
测试体会与总结(200字以上) |
王柄钞 |
作为团队的队长兼任master确实真的事情太多了不仅要开发还要管团队,好在还是坚持过来了,在这个开发的过程中,大家除了日常的版本开发,还有各种bug修改任务穿插,Scrum的实践处于半停滞状态,只有站会跟踪在延续了。期间遇到的问题还是老问题,尤其是将组员写的代码整合爆发的问题,针对特别棘手的问题,虽有决心改,但人家写的代码不知道从何开始。 有时候很迷茫,觉得自己不是在做开发工作,除了调研产品、设计原型、沟通需求、网站上线前测试外,还要兼职生活委员,注册各种微信公众号账号(个人小程序号换企业服务号再换企业小程序再换政府小程序)、学校授权、公司服务号认证、域名认证、找遍各种微信开发者社区关于审核不通过的原因、几乎把腾讯客服问的都不想张我了。确实真的,最难的Scrum master,很吃力,对外沟通难对内催进度难,出了事还要背锅。好在队员还是配合,做不完就加班熬夜,每晚几乎都是十二点回宿舍,也或许没有我想象中那么难,还是很幸运自己能够做组长队长能够得到团队的信任,这个整个过程中我们始终用scrum这个流程来严格控制我们的项目进度,从陈老师课堂上给我们介绍的scrum流程以来我就感觉这个软件过程真的很适合我们的项目,我也很积极的严格控制每一次的冲刺冲刺计划会以及到冲刺结束的冲刺评审会,其实有些时候自己也能体谅大家天气比较冷每三天乃至到最后的beta版本两天每天基本上是我们都在九十点钟开会,即便很冷大家也比较尊重我们的约定按时参加,这里也再次感谢我的队友对我的支持和信任,相信这次不光是结束了我们的项目,更是开启了我们对软件项目开发过程实践方法的大门。 |
罗伟诚 |
作为计算机软件专业的学生,理解和掌握系统分析与设计的知识是必不可少的。在陈汶滨老师的课堂之上学到了不少的东西。 |
杨苹 |
这学期通过对系统分析与设计的学习,感觉自己对软件和软件工程又有了一个新的了解。在上这节课之前,我只知道软件是一个由很多代码组成的单纯的一个小程序,而现在,如果有人问我什么是软件,我会不假思索的告诉他,所谓软件,就是一系列按照特定顺序组织的计算机数据和指令的集合。通过这次实战项目,我了解到自己还有很多不足,有许多知识还没学到位。而通过这次的党建云平台的实战项目,在团队成员的帮助下我学习到很多技术,接触到之前从来没有接触到的部分领域,扩大了自己的知识面,同时也锻炼了自己的能力。希望在接下来的日子里也能保持这份初心,努力向前! |
冯俊霖 |
通过《系统分析与设计》这门课,我接触到了《构建之法-现代软件工程》这本书。这本书中所介绍的NACBD模型、分而治之方法、敏捷开发小组会议和燃尽图、结对编程这些方面的知识点和技巧我们都很好地应用到了自己的项目开发的整个过程之中去。我们通过分而治之的方法,利用WBS图拆分我们的需求,然后利用甘特图,结合每个组员的承诺工作时间把所要实现的所有功能具体化到每一天每一小时;我们在冲刺阶段采用了结对编程的方法,而且还实现了敏捷开发,并完成了至少2天一次的冲刺会议,每个人汇报自己的工作并展望接下来要做的事情,然后完善燃尽图;而且我们团队利用码云托管平台来管理代码,每个人做自己的模块,并保证一天至少merge一次所有人的分支,大大提升了团队协作的效率,每个人都完成了什么工作也是一目了然。可以说《构建之法》这本书对我们的团队的整个开发进展阶段都具有相当强的指导意义,也算是我们进行正式软件开发项目的一本入门引导手册了。 |
魏家田 |
通过本学期的软件工程理论学习,以及做的团队项目体验,再加上我是我们整个项目的Program Manager,改变了我长期以来对我这个专业发展方向的很多困惑和误解,我一直觉得我作为一个程序员只要学如何写代码,顶多把数据结构和算法掌握清楚、操作系统和计算机网络的知识学习扎实,会写前端会折腾数据库就可以了,其他的能不了解就不用了解。 |
曾文杰 |
本次项目我主要负责的是后端的发展管理模块,整个项目中遇到的问题还是不少,这归因于自己还是对于知识掌握的较少,遇到不会的还是在百度,这样也花费了不少的时间,在组长和其他伙伴的协助下,帮我解决了很多问题,真心地很感谢他们。在组长的正确引领以及我们组员的积极配合下,我们项目成功上线。 |
魏川程 |
项目终于要结束了,说句实话,很累。这个项目应该是上大学以来,真正做的比较有意义,有团队感的项目了。每晚上在明理楼通宵的日子、团队成员靠着咖啡续命的日子、凌晨四点看西南石油的日子,现在都还记忆犹新。但是我不想再来第二次了。本次项目我主要是负责党站的PC端。包括了用户登录注册这些简单的,也包括了权限管理、节点管理这些比较难点的。整个项目使用ThinkPHP3.1搭建完成,本来一开始是打算直接用ThinkPHP5的,但是电脑配置出现问题,导致无法正常路由,使用ThinkPHP3.1就没事,所以最后使用的是ThinkPHP3.1版本。服务器和数据库直接用的PHPStudy,速度快,省事。页面展示用的是后端程序员都喜欢的BootStrap和BUI。整个系统的数据传输都是使用AJAX异步传输,方便,快捷,安全。整个项目做完之后来看,其实过程中遇到的很多问题都是因为自己的编码少了造成的,所以,每天保持必须的代码量也确实很重要。但是在这次项目里面,我发现了一个更严重的问题。我的组织协调能力很不好,亟待改善。希望在以后能够多多的改善自己的这方面的能力,并不断完善自己。课程也终于要收尾了,想起我写获奖博客的时候,以为那就是终点。现在才敢大胆的放下心说,我上完这门课了,我问心无愧。这门课,不管是个人作业还是团队作业,我认为都是比较符合我们现在的技术水平和时间限制的。但是,在实践的过程中,很多东西我认为没有很好地体现出来这门课的精髓出来。比如结对编程,据我的了解,很多人都是摆拍,然后其中一个人做完一部分,另一个人做另一部分。其本质不是说我们不愿意结对编程,只是没有多大意义的情况下,也不想。以及对于小组的会议记录、照片这些。其实我觉得初心是非常好的,只是如何更好地实现,我认为还有更多的功课需要做好。这门课和平常的课堂完全不一样,不写试验报告,不考试,甚至连平时分都是根据博客来打的。通过这门课下来,我也对软件工程的理解有了一点深入,也体会到了一点Learning by doing的哲学。其实,我认为,作者和老师并不是要我们这些大学本科就能通过这本书真正领悟到软件工程的奥秘,而是对如何建立软件工程,以及内心中的工程概念浇下萌芽的春水。真正的软件工程还是只有多做,才能领会到。没有一点积累,看这本书,如同嚼蜡,只是为了学习软件工程而学习。感谢陈老师半学期的悉心教导和小黄衫,我也会在Learning的路上更多的Doing。 |
附件会议记录: