【软 工 实 践 · 团 队 作 业】 预则立&&他山之石
标签:WonderLand
Part 0 · 简要目录
Part 1 · 团队计划
Part 2 · 团队访谈
Part 3 · 分工比例
Part 1 · 团队计划
项目 Issues 链接:https://github.com/wonderIand/icpc-system/issues
团队项目时间计划
周数 | 工作时间 | 负责人员 | 工作内容 |
---|---|---|---|
7 | 10.23 ~ 10.29 | 陈汉森 | 平台环境搭建、UI设计、初步架构搭建 |
郑浩晖 | 编码规范的完成、需求规格说明书终版 | ||
8 | 10.30 ~ 11.05 | 陈汉森、郑浩晖 | UI设计改进、架构设计、测试计划 |
后端成员 | 接口文档编写、数据库设计 | ||
9-10 | 11.06 ~ 11.16 | 郑浩晖 | 组织每日站立式会议 |
- | MVP框架的搭建 | ||
郑浩晖 | 维基 [包含训练记录及训练总结] 设计与实现 | ||
郑书豪 | 博客模块设计及博文编辑功能的实现 | ||
吴海林 | 实现博文增加及删除功能 | ||
左文航 | 实现博文列表获取 | ||
廖兴桔 | 题量爬取 | ||
吴海林 | 标签系统数据库设计及获取标签功能的实现 | ||
郑书豪 | 标签的实现、关联博客系统中的博文 | ||
郑浩晖 | 代码审核、测试、签入 | ||
全员 | Alpha版本发布 | ||
10 | 11.16 ~ 11.19 | 左文航 | 收集用户试用反馈 |
郑浩晖 | 测试计划改进 | ||
全员 | 项目完善 | ||
11 | 11.19 ~ 11.26 | 郑浩晖 | 组织站立式会议 |
廖兴桔 | 服务器、客户端测试 | ||
郑书豪、吴海林 | 项目推进 | ||
左文航 | 项目推进 | ||
12 | 11.26 ~ 12.03 | 全员 | 正式版本完善 |
陈汉森 | 相关测试 | ||
全员 | 用户手册设计及撰写 | ||
13 | 12.03 ~ 12.10 | 全员 | 正式版本发布 |
郑浩晖 | 撰写宣传推广文案 |
Part 2 · 团队访谈
采 访 信 息
采 访 对 象:陈 燊
采 访 形 式:电话访谈
访 谈 记 录
项 目 选 题
Q:项目选题及内容的简单介绍
A:关于选题首先要确保自己选题要有创新,避免过于死板,选取趣味性、实用性高的项目
Q:选题过程中考虑的因素
A:因为课程比较特殊,首要因素确保项目能够完成,所以选题不能把自己要做的东西定位得太高,考虑后期写博客及代码,时间可能来不及,选题尽量定小型软件或网站,其次是团队构成,团队内部人员能力前端及后台能力
,对相对应项目功能进行筛选
Q:对本团队选题的看法及建议
A:选题有点偏,面向用户集体太过局限,到后面用户测试环节———小组之间互相测试,考虑其他小组成员可能不是实验室相关成员,用户体验可能不佳,面向特定的群体,局限性太小,考虑最后产品的推广,如何撰写产品的营销手段,考虑如何推广到外面的大型公司
开 发 经 验
Q:在前期项目开发经验较少的情况下如何快速获取开发经验
A:考虑团队内成员是否有过项目开发经验,由有过项目经验的人带动新手开发,对于前期项目开发经验较少的人提前安排去学习相关知识
Q:项目开发结束后积累了哪些开发经验
A:考虑不同人员负责不同的任务,针对自己负责项目统筹、项目管理,在最后队员博文总结中,队员开发过程都是基本都是采用“做中学”的形式,面向百度的开发,虽然很多人经验很欠缺,但是整体开发过程还是挺不错,经验问题不大
团 队 组 织 方 式
Q:负责前后端的成员如何进行合理的分配
A:团队有三个前端和三个后台,一个前端和一个后台搭配,负责固定的模块,每个模块由固定两个人来负责开发
Q:
PM
在开发过程中主要负责哪些工作
A:主要是统筹全局,因为每次都会发布任务,需要确定团队开发的进度跟上计划进度,根据开发进度,跟进团队中成员的开发进度,通过项目管理网站发布每一位成员的任务卡片,跟进队员任务卡片的完成状况
团 队 成 员 协 作
Q:对于团队中经验较少或代码能力较一般的成员如何提供帮助
A:在初步安排任务的时候,先分析每个组员各自的擅长点及薄弱之处,根据队员能力强度去分布任务的多少,在保证均衡的情况下,能者多劳,在编码学习过程中,互相学习、交流
Q:团队成员间如何进行有效的交流
A:在α冲刺阶段、β冲刺阶段
,基本上都会固定时间,团队成员到活动室进行编码,有效提高编码效率【有人督促就是不一样】,团队成员聚在一起,遇到问题也比较好沟通交流
Q:团队成员协作中值得分享的方式和经验
A:站在PM的角度来讲,在分布任务的时候需要均衡一点,对于能力强的人,不能不自觉的分配过多的任务,应考虑团队整体;队员之间互相沟通,尽量避免队员之间互相抱怨的情况发生,提高团队凝聚力
时 间 周 期 安 排
Q:项目整体的开发周期如何进行合理的安排
A:在α阶段
先把整个流程线走完,关于一些人性化的提示及边边角角的功能则放在β阶段
进行实现,α阶段
主要是实现核心功能,定下目标,建议先搭好整体框架,然后进行相关编码,整体项目流程开发完之后进行测试,需要花比较多的时间修改相关bug
Q:
α阶段
的开发在整个项目周期中的占比
A:不包含前期文档博客撰写,就代码开发在α阶段
已经完成项目进度70%的进度
Q:
α阶段
应该着重于哪些方面进行开发
A:先着手核心功能,针对你们项目,先做好信息管理等功能,对于边角功能可先暂缓实现
解 决 棘 手 问 题
Q:开发过程中是否有遇到棘手的问题以及是如何进行有效的解决
A:
- 首先一个问题是博客问题,软工实践博客写的数量也很对,针对博客的撰写,一般由组长来撰写,因为组长没参与项目编码开发的话,看得会比较全面一点,对团队了解也比较多,去年我们整个团队项目开发过程中,整个团队的博客都是由我来写的,在撰写博客的过程中自己也会思考,怎么写,在思考中发现项目上存在的问题,增加对项目的了解,主要问题是一开始要分工明确,尽量把博客交由一个或两个人来撰写,统一博客的编写风格
- 对于需求问题,在代码规范性要高一点,尽量高内聚低耦合,避免因在
α阶段
及β阶段
需求更改时,减少代码修改程度,保持代码规范;- 对于
Github
源代码管理,确保Commit
代码在本地运行正常,然后就是Commit Message规范
及分支的管理
经验分享
Q:在整个项目的开发过程中有哪些宝重要的经验教训
A:
- 首先成员之间沟通要充足,任务分配要均衡,避免到后面出现个别组员编码工作过于轻松造成其他组员抱怨、心里不平衡等情况,考虑每一位队员的自身能力及特长去分配任务,避免出现以上情况,
- 其次,成员应该经常组织在一起编码,组长多买买夜宵犒劳犒劳队员,加强团队的凝聚力,避免团队矛盾、吵架的发生
经验总结
-
PM
应注重团队任务分配比例及及时跟进任务进度 - 遵循统一的代码规范及详细的
Commit Message
Part 3 · 分工比例
总和 | 郑浩晖 | 吴海林 | 郑书豪 | 左文航 | 陈汉森 | 廖兴桔 |
---|---|---|---|---|---|---|
100 | 25 | 15 | 15 | 10 | 25 | 10 |