团队作业—预则立&&他山之石
1. 团队任务计划
1.1 安排表
周数 | 截至日期 | 任务大体 | 分工明细 | 人员 |
---|---|---|---|---|
7 | 2017.10.29 | 编码规范完成、平台环境搭建完成、初步架构搭建+需求规格说明书最终版、UI设计 | 初步确定文档规范、分析并确定需求规格说明书最终版、分析并讨论形成初步架构设计、完成Github团队协作方式的学习 | 全体成员 |
编码框架+需求复审 | UI设计概念及设计模式学习、与其他队员交流形成各页面初步交互方案 | 张旗、黄若岚 | ||
课堂现场审核+博客随笔 | 学习后端JAVA开发并尝试小Demo,服务器购买及搭建、并确定编码框架及代码规范 | 吴松青、胡武成 | ||
学习Android开发内容并尝试小Demo,了解前后端交接流程,并确定编码框架及代码规范 | 胡冰、黄世辉 | |||
学习Web前端内容并尝试小Demo,了解前后端交接流程,并确定编码框架及代码规范 | 孙浩楷、练斐弘、张旗、黄若岚 | |||
组织协调分工、督促各成员每日进度、博客撰写 ( 下同 ) | 胡武成 | |||
8 | 2017.11.05 | UI设计改进+架构设计+测试计划 | 1. UI设计进行队内评审并改进、架构设计完善、讨论并形成初步测试计划、讨论并确定Alpha版本所要实现的功能; 2. 数据库初步设计,讨论并形成API文档规范; 3. Android及Web端人员关于兼容及缓存机制进行学习,初步进行项目编码尝试; 4. 撰写个人技术博客 | 全体成员 |
设计评审 | ||||
课堂现场审核+博客随笔 | ||||
9~10 | 2017.11.16 | 第一阶段冲刺——连续十天的站立式会议。编码+测试+项目管理同步推进 | 组织站立式会议、统筹项目开发进度、Alpha版本发布、博文撰写 | 胡武成 |
Alpha版本发布 | 测试并提出改进意见 | 全体成员 | ||
课堂现场审核+博客随笔 | 完成各项API编写、与前端完成对接 | 胡武成、吴松青 | ||
督促后端开发进度 | 吴松青 | |||
Android界面交互及功能实现,并与后端完成对接 | 胡冰、黄世辉 | |||
督促Android开发进度 | 胡冰 | |||
Web界面交互及功能实现,并与后端完成对接 | 孙浩楷、练斐弘、张旗、黄若岚 | |||
督促Web开发进度 | 孙浩楷 | |||
Beta阶段 | ######## | 根据Alpha阶段的效果再进行调控分配任务 | ||
10 | 2017.11.19 | 项目完善+用户试用反馈+测试计划改进 | ||
改进总结调整 | ||||
博客随笔 | ||||
11 | 2017.11.26 | 第二阶段冲刺——连续七天站立式会议+测试+项目管理推进 | ||
Beta版本发布 | ||||
博客随笔 | ||||
12 | 2017.12.3 | 正式版本完善+用户手册 | ||
发布用户手册、课堂现场审核 | ||||
13 | 2017.12.10 | 正式版本发布、撰写宣传文案推广 | ||
1篇 博客(宣传文案) |
1.2 协作方式
- 项目管理Tool
- Github.
- 团队成员
- 1个PM;
- 1个Web开发主程序员、1个后端开发主程序员、1个Android开发主程序员;
- Web开发人员、后端开发人员、Android开发人员.
- 开发管理
- 由各主程序员负责督促并及时向PM汇报进度;
- PM根据当前进度采取合理安排、调控.
- 开发模式
- 初定集中式开发;
- 此后根据开发效率灵活调整.
1.3 Github issues
2. 访谈总结
2.1 访谈对象
( 在此对三位学长表示感谢)
- 采访对象: 14级学长 ---- 鲍亮( PM 兼 Android开发 )、汪培侨( 后端开发 ) 、林淋(后端开发)(抱歉,疏忽了)
- 采访对象项目名称 : 一起买 —— 一个每个人都能发起团购的平台
- 采访时间:2017年10月22日
- 采访地点:线上(QQ讨论组)
2. 访谈内容
- ( 1 ) 项目选题
Q:
\(~~~~~~~\)如何确定用户需求?
A:
\(~~~~~~~\)用户需求的话,其实也是个人有需求,比如平常遇到的一些生活上的问题,比如喜欢团购(省钱),之类的。想了一想,市面上这方面的app还有所欠缺,就决定做了
Q:
\(~~~~~~~\)在哪些方面来考虑并且扩大自己的产品相对于同类产品的优势?
A:
\(~~~~~~~\)从功能和用户定位上下文章,功能上有亮点,用户定位尽量准确。
- ( 2 ) 项目开发经验
Q:
\(~~~~~~~\)能不能简单阐述项目的具体推进过程?美工前后端同时开展推进吗?
A:
\(~~~~~~~\)一般是美工、后端要先行,然后后端的人员要去买服务器什么什么之类的,保证前段要用的时候就能实时看到效果,基本上后端要领先前端一个周期。对于返工次数,不知道你们指的什么,应该是不存在的,除了有一些问题,需要特殊的解决方法,网上的几种方法反复试没有成功之类的。
\(~~~~~~~\)然后一个队伍里,肯定有代码能力较强代码能力较弱的人,这个时候我的建议是,以防后期真的说拼不起来要返工之类的,代码强的人就多做一些这样的操作,比如说如下
\(~~~~~~~\)把这个代码架构设计好,最后拼起来也不会有问题。
\(~~~~~~~\)前后端的话,是要用约定的API文档,这个一定要做. https://coding.net/u/Yuaoi/p/BuyTogether/git/tree/master/BuyTogether
\(~~~~~~~\)可以看看上面那个链接,因为这个可以看成是后端的一个指标,对于需要前后端debug的时候一定要配合之类的。Q:
\(~~~~~~~\)alpha阶段与beta阶段分别应当如何安排?
A:
\(~~~~~~~\)这个问题的话,当初我们是登录、注册、忘记密码,这些什么什么的开始做,我觉得现在觉得是个错误,我觉得应该把你们功能最核心的部分给做出来(MVP),有一个简单的demo,这是alpha阶段该去做的,对于beta阶段,就是把其他非核心功能给解决掉,当然也解决Bug的过程。
Q:
\(~~~~~~~\)当时PM参与多少的编码工作量?前端还是后端?
A:
\(~~~~~~~\)PM编码方面做的前端对后端的接口,相对比较轻松。pm的话也不能不编码,不过可以少做一点,分担任务比较重的队友的负担,项目协调,文档,会议,这样的职责承担起来,
\(~~~~~~~\)如果出现问题,要考虑解决方案。Q:
\(~~~~~~~\)关于项目框架,有什么适合团队合作的框架结构推荐的吗?
A:
\(~~~~~~~\)MVC模式,我们前端用的是这样的分工结构.至于后端,我觉得其实没用什么架构,后端可以描述为就是一个个的函数,接收前端传递过来参数,然后返回相应的数据这样
Q:
\(~~~~~~~\)在数据库设计过程中,学长/学姐是否遇到过坑点?若有,请简单说明具体情况,并分享一下最终的解决方法;若没有,学长/学姐当初是如何进行数据库设计,都考虑了到哪些方面,采用了什么样的数据结构,才使得数据库设计这一部分如此完善?
A:
\(~~~~~~~\)这个坑点,哈哈,还是很多的,之前是采用数据库的设计工具去画出数据库的图,就是系统设计那次作业有说,不过我建议还是不要表连接,(这个也是我们从上一届学长得来的),因为东西多起来的话,后面真的会很乱。然后就算你设计的多好,在实际编码的时候还是会返回去修改对应的数据库,我觉得我们那个时候已经考虑的还可以,因为有可能有需求一定要去改数据库的表之类的,不过能通过其他方案解决的,就不要去碰数据库了,这一般也是项目初期发生的。
\(~~~~~~~\)数据库的设计的话,当初我们是整个队,拉起来一起考虑,一起说明要建几个表,最后方案得到了全组人员的肯定后才通过。
- ( 3 ) 团队组织方式
Q:
\(~~~~~~~\)PM在项目开始前,如何评估工作量,以便合理安排各个队员之间的工作?
A:
\(~~~~~~~\)既然是一个8个人的团队,无疑是最考验PM的。首先有一个PM,一个后端主程序员,前端主程序员,一个美工,PM不写代码专门关注产品,然后主程序员负责上述那些框架的写,给每个子程序员分配任务,然后主程序员负责像PM汇报,PM了解情况后,作出调整,一级一级下分。大三的课还是挺多,之前你们不是有一个功能细分了吗,这里就要有一个架构师,毫无疑问这里是整个项目最难的部分,我建议是一整个团队的人都参与,有一个对项目结构了解比较深入的人做主导,切分出那些是后端,哪些是前端,也就是MVC架构,然后切分好后,由各自的主程序员去负责,模块化撰写等等之类的,这样也是减少突发情况,把风险降到最低。
\(~~~~~~~\)这是PM要提前考虑好的。可以用这样的方式,pm每天收集队员进度,并安排每个人第二天工作。至于量的大小,多交流协调Q:
\(~~~~~~~\)在团队合作中,如何调动团队内的工作氛围提高积极性,提高团队的凝聚力?
A:
\(~~~~~~~\)晚上花十分钟的站立式会议,会起到奇效,简单说说每天自己的进度,遇到的问题,以及第二天的计划,特别是冲刺阶段时,要天天开站立式会议。
- ( 4 ) 团队成员协作
Q:
\(~~~~~~~\)在这个过程中,是否出现由于编码人员的没能按时完成导致团队项目延迟的情况?如何处理?
A:
\(~~~~~~~\)没有特别的方法吧,大家一块解决。当时有一个大的图片加载崩溃的问题,这是前端发现的问题,一直没解决,及时跟大家交流后,最后决定后端存储方式需要改变。所以解决问题还是要多交流,因为可能是其他地方的问题,大家一沟通就会简单很多。主要还是应该了解队员的具体情况,充分考虑不干活的或者干不完活的,任务分配的时候吧这些算进去。
- ( 5 ) 给学弟学妹的建议
Q:
\(~~~~~~~\)能不能对我们的项目提出一些好建议,对繁多的功能如何取舍/安排主次?有哪些看着似乎很实用,但实际上十分鸡肋的功能?
A:
\(~~~~~~~\)先把核心功能作出来,登录、注册这些先从简。我看了一下你们的项目“作业来了”,那就是有两个客户端,一个学生端,一个教师端,有一些部分是一样的把,比如说学生端的提交作业、查看作业、查课件、作业通知等等,作过学生你们应该知道那些优先级比较高,就去做那些。对于老师端,毫无疑问,就是学生端所需要的功能,老师端也要能够满足的那些功能
\(~~~~~~~\)作业解答部分热心的同学可能也愿意,可以做成比较社区化的东西,但要避免水分,每次作业老师可以贴一些经典题型这种供学生讨论。
3. 各人员任务权重
学号 | 姓名 | 分工明细 | 权重 |
---|---|---|---|
031502610 | 胡武成(组长) | 博文撰写、团队计划书制定、任务分工 | 14 |
031502412 | 黄若岚 | 拟定采访问题 | 14 |
031502626 | 孙浩楷 | 采访及总结采访内容 | 11 |
031502243 | 张旗 | 采访及总结采访内容 | 11 |
031502512 | 黄世辉 | 拟定采访问题 | 11 |
031502518 | 练斐弘 | 采访及总结采访内容 | 14 |
031502630 | 吴松青 | 采访及总结采访内容 | 11 |
031502411 | 胡冰 | 拟定采访问题 | 14 |