【项目 · Wonderland】预则立 && 他山之石

时间:2021-10-08 14:36:28

【软 工 实 践 · 团 队 作 业】 预则立&&他山之石

标签: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