我说的都队
031402304 陈燊
031402342 许玲玲
031402337 胡心颖
031402203 陈齐民
031402209 黄伟炜
031402233 郑扬涛
一、团队任务计划
周数 | 任务 | 说明 | 负责人 |
---|---|---|---|
8 | 任务分配 | 开发过程中组员的任务细化分配 | 陈燊 |
需求说明书初稿 | 分析结对编程前两次的所有博客,然后按照国家标准确定软件需求规格说明书的初稿 | 陈燊 许玲玲 胡心颖 陈齐民 黄伟炜 郑扬涛 | |
思维导图 | 完成思维导图的设计 | 陈燊 | |
算法完善 | 用 C/C++ 完善结对编程时设计的导师分配系统的算法 | 郑扬涛 | |
主体界面原型设计 | 根据需求说明书初稿以及思维导图,设计主体界面的UI原型 | 胡心颖 黄伟炜 郑扬涛 陈燊 | |
数据库设计 | 根据原型设计和需求说明进行数据库的设计 | 陈齐民 | |
细节 | 原型设计的美工 | 许玲玲 | |
博客 | 博客文档与上述任务并行开展 | 许玲玲 | |
9 | 编码 | 确定团队项目的编码规范、编码环境的统一 --AS、git等 | 陈燊 许玲玲 胡心颖 陈齐民 黄伟炜 郑扬涛 |
功能界面 | 根据第八周的原型设计用Android实现主要的功能界面 | 陈燊 胡心颖 黄伟炜 郑扬涛 | |
接口 | 完成部分接口,并写好接口说明 | 陈齐民 | |
界面交互 | 完成界面之间的交互 | 陈燊 胡心颖 黄伟炜 郑扬涛 | |
需求说明书 | 继续完善需求说明书,并确定软件需求规格说明书最终版本 | ||
测试计划 | 根据《构建之法》相关章节知识,确定下一阶段的测试计划 | ||
博客 | 博客随笔的撰写 | 陈齐民 许玲玲 | |
10 | 接口对接 | 完成毕设分配系统主体功能接口的对接 | 陈齐民 |
测试 | 在主体功能完成之后,根据测试计划进行测试,整理BUG文档并进行修复 | ||
工作汇报 | 每天每人进行个人任务汇报,组长总结当前任务进度 | 陈燊 许玲玲 胡心颖 陈齐民 黄伟炜 郑扬涛 | |
博客 | 博客随笔的撰写 | 陈齐民 许玲玲 | |
11 | 细节 | Android端完成上阶段剩余的所有非功能需求需求模块 | 胡心颖 黄伟炜 郑扬涛 |
接口 | 后台完成所有的接口设计 | 陈齐民 | |
接口说明 | 接口说明文档最终版确定,发布在Showdoc上 | 陈齐民 | |
接口对接 | 完成毕设分配系统主体功能剩余接口的对接 | 胡心颖 陈齐民 黄伟炜 郑扬涛 | |
测试 | 灰盒测试,测试与BUG修复 | 陈燊 胡心颖 陈齐民 黄伟炜 郑扬涛 | |
博客 | 博客随笔的撰写 | 陈齐民 许玲玲 | |
12 | 测试 | 正式版本的完善 | 陈燊 许玲玲 胡心颖 陈齐民 黄伟炜 郑扬涛 |
项目管理 | 项目管理推进 | 陈燊 | |
博客 | 博客随笔的撰写 | 陈齐民 许玲玲 | |
13 | 完善细节 | 修复细节的BUG | 陈燊 胡心颖 陈齐民 黄伟炜 郑扬涛 |
用户手册 | 写详细的用户手册,包括整个APP的功能模块介绍,使用流程,各种用户的使用说明 | ||
14 | 发布 | 发布正式版本,真实用户使用 | 真实使用的用户 |
15 | 上线 | 部署上线真实版本,交付用户使用,申请软著 |
- 加粗为当前周的任务重点
- 在后续编码阶段,会将任务进行细化、量化,并动态添加每人每天要做的bug、feature到issue上
- 团队任务计划-issues链接
团队任务计划小结
在团队项目时间规划的博客发表出来之后,我们便瞬间懂得了软工实践课为何又被称为熬夜实践课!整个项目时间规划的安排十分紧凑,而且涉及到编码,工程量巨大,在11月初便要求发布项目的第一个Alpha版本,这对许多项目经历不是很丰富的小组来说是一个巨大的考验,对我们也是。我们小组为了确定这个团队任务计划,开会时进行了长达三个小时激烈的辩论。计划之所以被称为计划,是因为计划会改变的,经过讨论,小组成员一致认为如果我们按照老师的那篇项目时间规划博客所述去安排任务,那么不要说自助餐了,连每一周是否能够顺利完成任务都是一个未知数。二十几页的需求规格说明书,以及服务器和安卓端那巨大的编码量,在短短不到二十天的时间,期间还夹杂着高三式的课程量以及考试等等。也许,唯有熬夜才是最终的出路。(手动委屈)
在确定团队任务计划时,我们以Alpha版本的发布为一个阶段,列出从现在开始到阶段截止期限我们所需要完成的任务,然后先确定了第十周(Alpha版本的发布)的任务计划,接着依次倒推,综合考虑了每一周每位成员可利用的时间以及考试情况,尽可能得确保每一周的团队任务计划平均分布以及任务的并行执行。整个团队任务计划确定的过程是相当艰难的,我们最初确定了好几个版本,但是都因为任务量巨大而被抛弃,而最终确定的所上呈现的团队计划,其实也是略微有点粗糙的。我们确定了到第1周为之大体的任务计划,但是之后的任务安排,因为尚为遥远,成员对任务计划的确定都不是很清楚,我们打算到时再以项目进度为基础,实时更新团队任务计划,并发布在issues上面,促进项目的圆满完成!
二、采访专题 -- Q&A
采访对象
:基于Android端的报课系统——陈世发、苏晓强
采访时间
:2016年10月13日21点30分
采访地点
:29号楼404宿舍旁
参与成员
:“我说的都队”小组成员
采访内容
项目选题
Q:如何确定用户需求?
**A:**要和用户面对面交流。对面谈的内容进行录音,可以在谈话结束后,复核需求。如果对用户的给的需求有疑问,不管是什么问题,都要及时提出询问。用户描述需求的时候,可能会有前后矛盾的地方。找到矛盾,询问用户,确定真正的需求,如果在后续开发过程中,仍有疑问还需要再和用户约谈时间讨论。 **Q&A小结:**在即将来临的下周用户需求会,我们决定要先备好一些问题,在讨论期间,使用录音功能,遇到疑问的问题当场提出问题,会后进行整理的时候,如若发现还有疑问的地方,可以再和用户约时间进行讨论。
项目开发经验
Q:由于我们没有专业的项目开发经验,我们现在还不是很清楚项目开发的整个流程?
**A:**首先,组长的的作用很重要,组长要协同好组员关系,进行项目任务计划的合理分配,保证每个组员的工作量,并且要注意时间的安排,把握每个组员的任务进度,做好督促的作用;其次组员之间一定要有充分的交流沟通,对自己的任务要按时完成。
Q:Alpha版本发布时间很赶,应该如何安排工作?
**A:**Alpha版本不需要将所有的功能都实现,而应该在一开始就定好该软件的核心功能,在Alpha版本发布之前完成,能够保证可以实现最基本最核心的功能。剩余的细节小功能可以在后期再进行编码完成。建议PM在项目前期不参与编码,把重心放在对团队项目进度的把控和组员任务分工安排上。
Q:你们当时是如何进行测试的?
**A:**测试的话我们当时大部分还是采用手动测试,由于我们当时是初学者,代码还比较乱,如果用自动化测试的话,可能会花的比手动测试还要慢的多,不过还是蛮支持你们用自动化测试的。
Q:Android网络通信框架?
**A:**目前项目使用的是 okHttp的框架。
Q:后台是否有才用框架?
**A:**有,后台PHP采用的是ThinkPHP的框架。
Q:接口是用PHP组的,还是自己写的?
**A:**我们和Web组商量了一些字段和数据库的格式,共用数据库,但是接口是我们自己写的,两组之间独立开发。
Q:代码规范是什么意思?
**A:**我们会整理一份文档给你们,你们可以参考,也可以先参考 google java stytle。 **Q&A小结:**总的来说,项目经验其实是需要在项目开展的过程中不断的积累总结和交流的,因为在开发过程中,任何技术问题或时间分配问题都是有可能出现的,所以就需要组员之间的不断交流,彼此相互学习,这个过程才是不断学习、积累项目开发经验的过程。
团队组织方式
Q:团队组织要怎么进行?
**A:**建议PM不要参与编程,因为参与编程,会分散PM的精力。把关注点放在单个功能模块的实现,会散失 对整体项目的把控。如果实在需要参与编程,那最好是在项目后期。在项目进行的过程中,逐渐了解每 个团队成员的能力,将团队的任务分解成粒度小可量化的小任务。这样在分配任务时,可以预估出每个 小任务完成的时间,明确当前的进度。
团队成员协作
Q:去年你们是四个人一个团队,是怎样进行分工的?
**A:**我们是一个负责项目管理兼Android开发,一个负责PHP接口,2个负责Andriod。
Q:你们都是已经会PHP或者Andriod的吗?
**A:**没有,我们几个也都是纯边学边做的。
Q:如果成员里面有技术比较薄弱的成员,那应该怎么让他跟上队伍的进度?
**A:**我们采用的方法是让技术比较熟练的成员写例子,让其他成员去模仿写,比让他们自己去看视频,看书等方式学习效率高。去年我们也有队伍是一个有很多开发经历的成员和三个纯小白的成员,他们的解决方法是厉害的成员将所有的代码写好,然后拿给其他三个成员,让他们模仿着写,总之,在团队合作中不能存在 我技术比较厉害就把所有的事情全都揽在自己身上的思想。合作就是帮助技术比较薄弱的同学一起进步。 **Q&A小结:**我们的团队是由一个PHP,四个Andriod,一个前端的同学组成,由于5个人都要写代码(PM不参与编码),所以针对学前端的同学(由于要跟去年报课的风格相似,不需要太多的美工)如何快速学习安卓,可以由组长教导,快速学习。
时间周期安排
Q:根据栋哥的时间计划安排表,我们发现时间其实很赶,那么我们该如何提高项目的完成速度?
**A:**熬夜是并不可少的,但是不要拖延到截止时间前一两天开始写,这样的效果是很差的。应该平均分配到每一天里面,每天每个组员都有相应的任务,并且要完成相应的任务,并在每次的站立式会议上进行任务进度的汇报。
Q:负责人应该如何安排项目计划时间?
**A:**负责人应该尽量细化并限定每个组员每个任务的完成时间,刚开始可能会存在时间安排的比较不合理的问题,但是几次之后,对每个组员的开发速度有一定的了解之后,可以根据每个人的完成速度,制定较为合理的安排时间。 **Q&A小结:**在正式进入项目开发后,每天的任务进度汇报是十分重要的,有利于组长对项目整体进度的把握,也会无形的督促其他组员按时完成任务。
三、团队总结
031402304 陈燊
对于这次团队作业,最深刻的感受只有一句话——计划赶不上变化!
首先一个便是团队选题的更改。在之前,我们团队通过讨论,确定了“赏金猎人”模式的选题,但是经过答辩以及老师同学的建议之后,我们小组成员觉得选题范围太大,而且市场上已存在类似的产品,实际而言产品的实用性和商业化的可能性很小,我们不想花费几个月时间仅仅只做出一个用于应付课程作业的产品。毕设导师智能分配系统却是当下每个学校都需要的一个产品,且通过之前两次的结对编程实践,我们组员对这个系统都有着自己独特的见解,各有所长,遂决定更换我们的团队选题。
然后,便是这次团队的任务计划确定。正如上述团队任务计划小结里所述,我们在开会确定任务计划时,才彻底意识到软工实践的可怕所在。庞大的工作量与紧凑的时间对我们而言是一个巨大的考验。我们经过了好几次的“版本迭代”,才确定了如今的任务计划。但所谓计划赶不上变化,在如此紧凑的时间内,我们的计划肯定会一变再变,不过作为组长的我,一定会把任务进行量化以及细化,努力确保每个成员都有着一定的工作量,团队任务按时完美得完成。
最后,在对“报课系统”项目的的学长们进行访谈之后,我才意识到自己远远还没有做好一个组长、一个PM的准备。世发学长给我提了许多关于如何做好一个PM的意见,其中最重要的一点是——PM尽量不参与编程。在原先的团队计划里,我是把自己当成开发人员去进行任务计划的安排,然后作为一个PM,更为重要的却是把控整体项目的大局,并且细化、量化任务,阶段性得把给组员发布任务。此外,还有一点也尤为重要——避免技术大牛独揽任务。同样的一个任务,自己完成可能需要1个小时,教会组员去完成却要好几倍的时间,但是作为一个leader,更明智的做法则是去教会组员完成任务,整体共同进步,尽可能得避免短板的出现。
一个人的力量是有限的,众人拾材火焰高。在今后的团队任务中,我们会尽一切努力互帮互助,取长补短,让“我说的都队”飞得更远!
031402342 许玲玲
通过讨论确定分工以及访谈之后,对整个软件工作计划有了明确的安排,时间紧迫,每一天都应该合理利用,不能拖延到最后一两天开始冲刺。该学习的,该做的就应该立刻去做。
031402337 胡心颖
感觉时间好赶,要学的东西很多,但是有一个团队在,莫名安心。接下来就专心学习安卓,学会怎么和团队配合。
031402203 陈齐民
在看到栋哥博客上的团队任务时间安排后,我们开完会发现要发布Alpha版本,时间真的是非常赶,尤其是我们决定要做毕设导师分配的安卓端后,之前确定的赏金猎人的原型设计都没用了,工作量要比其他组大,而且还要上课和两门考试,所以感觉真是要火烧眉毛了。
但是我觉得我们的激烈讨论还是有成效的,大体上的团队任务计划讨论出来了,包括我也已经把服务器搭好,做好了项目开始后台部分的准备;我觉得在项目开展中最为关键的两部分:第一是需求,需求我们都要非常的清晰明了,这样能为后期修改代码节省非常多的时间;第二是任务细化和工作汇报,任务细化后,每个人对自己的任务有很明确的了解,可以更好的完成任务,而工作汇报可以帮助我们督促其他组员工作,也能了解每个人的任务进度,从而PM可以把握整个项目的开发进度,才能在规定时间内完成。
虽然时间很赶,工作任务量大,但是锻炼也是非常大的,希望我们能够顶住压力,认真按时的完成每个阶段的任务,把毕设导师分配系统完成。
031402209 黄伟炜
开始软工实践的时候信心满满,觉得直接上手敲代码就好了,快准狠啊。但是看到满满当当的任务计划,一下就傻了眼。现在已经是第7周了,第10周就要发布alpha版本。最重要的是需求还没确定下来,编码举步维艰!周六早栋哥讲了将近一个小时的需求,发现整个毕设导师智能匹配项目的要考虑的细节,比之前小组讨论出来的内容多出很多来。栋哥建议我们两个 Android 组拆分重组成 Android 组和 PHP 组,这打乱了我们之前的分工和团队计划。现在的感觉形容起来就是:香菇!蓝廋!时间紧迫,只能先上车了,加油!加油!加油!
031402233 郑扬涛
软工的时间安排得真满,感觉每一个环节都令人窒息!在确定要做毕设导师系统的选题之后,我们开了讨论会,一周周地去分析确定任务计划,边吐槽边修改,看来熬夜什么的不可避免了QAQ希望在接下来的时间里,大家能够相互配合协作,将毕设系统顺利地开发出来!
四、作业分工及比例
任务(权重) | 陈燊 | 陈齐民 | 郑扬涛 | 黄伟炜 | 胡心颖 | 许玲玲 |
---|---|---|---|---|---|---|
会议讨论(25%) | 16.67% | 16.67% | 16.67% | 16.67% | 16.67% | 16.67% |
团队任务计划(25%) | 19% | 19% | 14% | 20% | 15% | 13% |
“报课系统”访谈(25%) | 18% | 18% | 14% | 18% | 14% | 18% |
访谈记录(5%) | 12% | 12% | 12% | 12% | 12% | 40% |
博客(15%) | 20% | 20% | 13% | 18% | 13% | 16% |
任务总结(5%) | 16.67% | 16.67% | 16.67% | 16.67% | 16.67% | 16.67% |
最终比例 | 17.85% | 17.85% | 14.55% | 17.50% | 14.80% | 17.15% |
小组成员郑扬涛、胡心颖因为本周参加ACM比赛,为了让他们能够专心比赛,为学校争光,故在本次作业过程中,分配给他们的任务相对较少一点,不过在作业初期讨论过程中,这两位同学都积极参与,贡献自己的想法,大大得促进了团队任务计划的确定。