BugPhobia准备篇章:团队Beta阶段准备工作分析
0x00:序言
To the searching tags, you may well fall in love withhttp://xueba.nlsde.buaa.edu.cn/
再见,无忧时光~
0x01 :Beta阶段会议记录(2015/10/24)
特别说明:Beta准备阶段的会议(2015/10/24~2015/12/07之间的全部会议全部不计入Scrum Meeting,实为准备阶段的集体讨论)
会议记录Github传送门:Beta阶段会议记录过渡阶段)(20151024).md
0x0100:需求分析整理:沟通
Beta阶段接口基本定义如下描述:
接口定义描述 |
具体样例说明 |
Particular Scopes(URL):通过URL描述基本的属性或关系 |
ü /users/{id}/notifications ü /question/add |
Methods(HTTPS Protocol):描述服务器的交互方法 |
ü GET, POST, PUT, DELETE |
Arguments(Requires):API本身所需的参数 |
ü private_information ü write/read_access |
Return:API本身返回的文本返回值 |
ü {"body":,"is_unrea":,"post_id":} |
Beta阶段接口需求文档基本分工:
王鹿鸣 |
n 定义用户(实体)的基本接口 n 定义标签(实体)的基本接口 n 定义推荐(关系/方法)的基本接口 n 定义基本接口的同时,对Beta阶段的需求文档做出一定的调整 n 同步调研文件上传下载部分的实现方法和接口(此部分工作允许延后,但最终Beta版本的产品必须实现此部分功能) |
王文基 |
n 定义搜索(关系/方法)的基本接口 n 定义基本接口的同时,对Beta阶段的需求文档做出一定的调整 |
冯志睿 |
n 实际调研第三方登陆(Oauth/OpenID)的具体应用场景,并尽可能对登陆、注销等与第三方登陆关联的后端部分作出学习 |
徐越,赵庶宏 |
n 定义问题(实体)的基本接口 n 定义回答(实体)的基本接口 n 定义基本接口的同时,对Beta阶段的需求文档做出一定的调整 |
图1 BugPhobia团队讨论第三方登陆和搜索方法的可行性
0x0104:团队基本分工确立:组内协作(会议讨论)
更为详细而准确的版本,请参阅0x0304:Beta阶段任务分工责任的详细内容
王鹿鸣 |
n 完成Semantic UI框架向ReactJS的代码迁移工作 n 完成其他模块的具体页面的前端实现 n 架构团队整体的开发流程 |
u 前端开发 u 全栈沟通、架构、前端 |
钱林琛 |
n 完成功能规格说明书、技术规格说明书、绩效管理的整理和维护工作 n Scrum Meeting期间完成Scrum Meeting的记录和更新,要求必须包含:个人的Work Issue的ID关联(已完成、计划完成、工作中的困难记录),燃尽图,照片,代码/文档的签入记录说明 n 与团队成员交流后规划各个开发时间,进行监督和“干预” n 必须与爬虫组、数据组、APP前端组进行沟通 |
u 项目经理 u 功能沟通,管理 |
冯志睿 |
n 调研第三方登陆的基本环境,并在Beta阶段进一步支持第三方登陆 n 根据接口定义,实现相应接口(JSON数据格式),交付前端做进一步的解析 |
u 后端开发 u 全栈沟通、后端、结对编程 |
王文基 |
n 根据接口定义,实现相应接口(JSON数据格式),交付前端做进一步的解析 |
u 后端开发 u 后端、结对编程 |
赵庶宏 |
n 根据接口定义,实现相应接口(JSON数据格式),交付前端做进一步的解析 |
u 后端开发 u 后端、结对编程 |
李云涛 |
n Javascript和DOM的学习进度规划 n 重新梳理前端页面的逻辑跳转,整理需要开发的“新页面” n 直接以ReactJS的view渲染开始新页面的编码和设计 |
u 前端开发 u 全栈沟通、前端、结对编程、测试 |
李入云 |
n Javascript和DOM的学习进度规划 n 重新梳理前端页面的逻辑跳转,整理需要开发的“新页面” n 直接以ReactJS的view渲染开始新页面的编码和设计 |
u 前端开发 u 结对编程、前端 |
金东禾 |
n 整理已知的Django框架、Semantic UI框架的入门教程,通过Markdown或LaTex整理为可读性较强的文档,留作为接任此项目的团队的学习文档 |
u 文档整理 u 学习文档整理、技术平台整理 |
图2 BugPhobia团队和Dream团队讨论接口定义文档之冰糖雪梨方桌会议
图3 BugPhobia团队和Dream团队讨论接口定义文档之冰糖雪梨方桌会议——神奇角度图
0x0108:团队文档管理:组内监督
团队文档管理说明:
团队自主交流文档尽可能使用**Markdown**文本编辑,允许使用扩展的Markdown语法,但必须保证GIT@OSC或MarkdownPad能够支持相应的扩展语法 |
对于部分必要的新技术(Semantic UI,ReactJS,Django,Apache部署等等),必须同时维护一份技术入门文档,**此文档允许延迟或交付其他人完成**(如Semantic UI的开发维护可以由Panacea完成),但必须保证各个文档有人维护,需要包含以下基本信息: n 参考资料或链接(特别鸣谢) n 常见问题的解决 n 入门教程 n 撰写人,维护人,修改时间和版本说明 |
文档允许工作转交,但必须保证责任人唯一制度,同时允许协同合作完成 |
项目经理将依据文档的维护情况进行进度的基本调整,同时文档最后必须由项目经理整合为一份合格的开发文档 |
团队文档管理说明:
前端 |
n 对于每一ReactJS渲染的页面,要求必须存在独立的维护文档,如果某几个页面关联性强,允许将几个页面合并为一份文档进行维护,但必须包含文件路径,文档说明,维护人等等 n Semantic UI入门教程(含HTML,CSS) n ReactJS入门教程 |
后端 |
n 对于各个接口定义,要求必须存在一定的维护文档和单元测试!同时提供单元测试/技术文档的说明,此部分文档在后期会进一步作出说明 n Django入门教程,Solr、Apache、Nutch等的配置 |
团队整体 |
n [直接负责人:钱林琛] 功能规格说明书 n [直接负责人:钱林琛] 需求分析说明书 n [直接负责人:王鹿鸣] 前端规格说明书 n [直接负责人:冯志睿] 后端规格说明书 n [直接负责人:李云涛] 测试规格说明书 n [直接负责人:王文基]环境规格说明书(Solr) |
0x02 :Beta阶段接口定义文档
接口文档Github传送门:Beta阶段前后端接口定义说明.md阶段前后端接口定义说明.md
接口文档Cnblog传送门:BugPhobia准备篇章:Beta阶段前后端接口文档
需求文档Github传送门:需求分析和定位概念模型.md
0x03 :Beta阶段任务管理说明
会议记录Github传送门:需求分析和定位概念模型.md
0x0300:Beta阶段任务进度管理
2015/11/24(周二) ~ 2015/12/4(周五):Beta阶段准备工作 |
n 完成基本需求和前后端接口的设计,尽快反馈给爬虫组和数据组 n 完成必要的沟通工作,讲明Beta阶段的重要需求和基本的开发需求 n 完成学习成本的消化,完成部分技术的调研工作,探明可行性后进一步进行说明 |
2015/12/5(周六) ~ 2015/12/19(周六):Beta阶段开发工作 |
n 全员进入Beta阶段开发工作 n 开发的起始时间由各组(前端/后端)自行协商确定 |
2015/12/20(周日):Beta阶段测试和推广工作 |
n Beta阶段的网页已经能够达成Alpha阶段的需求分析,将开始重点围绕推广开展大量工作,吸引大量用户群体(线下推广和线上推广同时进行,海报设计完成时) |
0x0304:Beta阶段任务分工责任
王鹿鸣 |
n 完成历史代码的整理和迁移工作(Semantic UI向ReactJS的单页模式迁移) n 完成新页面的前端开发工作 n 架构团队整体的开发流程 |
u 前端 u 架构 |
钱林琛 |
n 完成功能/技术/绩效等方面规格说明书的整理和维护工作 n 完成Scrum Meeting的记录和更新,要求包含:个人Work Issue的ID关联(已完成、计划完成、工作困难记录),燃尽图,照片,代码/文档的签入记录 n 协商后规划各阶段开发进度,进行监督和干预工作 n 必须与学霸爬虫组(爱码室)、学霸数据组(Power Team)、学霸Android端组(Dream)进行沟通 |
u 项目经理 |
冯志睿 |
n 调研第三方登陆的基本实现流程,考虑支持的可能性(依据目前的调研结果,可行性较低,暂时任务搁置) n 后端开发:根据接口定义完成具体实现(前端根据需求完成变量规范后) n 后端开发维系结对编程/集市模式,而后端开发的管理由完成 |
u 后端 u 代码复审 |
王文基 |
n 后端开发:根据接口定义完成具体实现(前端根据需求完成变量规范后) n 由于Alpha阶段完成了Solr等部分的配置,因此需要完成此部分的文档的书写、复审工作,具体的工作作为长期任务将在文档规范部分进行详细说明 |
u 后端 u 文档复审 |
赵庶宏 |
n 后端开发:根据接口定义完成具体实现(前端根据需求完成变量规范后) n 由于学霸网页端和学霸Android端决定共用后端,因此Dream团队中赵庶宏同学将共同参与到后端开发的部分,具体的任务分工将在开发阶段进一步明确 |
u 后端 |
李云涛 |
n 前端开发:重新梳理前端页面的逻辑跳转,根据“新页面的需求”进行设计和准备 n 前端开发:直接以ReactJS的单页应用模式进行新页面的编码工作 n 测试维护:按照Alpha制定的测试方案(功能性测试、安全性测试、白盒测试、服务器压力测试) |
u 前端 u 测试维护 |
李入云 |
n 前端开发:重新梳理前端页面的逻辑跳转,根据“新页面的需求”进行设计和准备 n 前端开发:直接以ReactJS的单页应用模式进行新页面的编码工作 n 学习文档维护:由于前端首次采取ReactJS的单页应用开发模式,因此,为尽可能保证2016级及以后的软件工程团队能够尽快上手,需要将结对编程期间的“学习成本”进行整理,尽可能包含:前置知识的学习(Javascript,DOM等),参考链接,学习笔记,学习心得 |
u 前端 u 学习文档维护 |
金东禾 |
n 整理已知的Django框架、Semantic UI框架的入门教程,通过Markdown或LaTex整理为可读性较强的文档,留作为接任此项目的团队的学习文档 |
u 学习文档维护 |
测试的具体安排:
> Beta阶段前端开发这里相对压力较大,因此各部分单元测试必须严格保证(后端开发的验证也将针对单元测试进行严格的要求)
> 其他测试的脚本依旧闭源处理,而预计开发阶段进行一周后开始进行整体的测试
管理的具体含义:
> 项目经理安排进度时会首先和后端组沟通,包含:任务的起始时间、结束时间、工作量
> 某一任务完成后,需要保证单元测试、文档、注释等部分都要包含(此部分由开发组自行斟酌)
图4 BugPhobia团队会议留影——不知道谁莫名其妙地直接拍鞋子(QQAQQ)
0x0308:Beta阶段任务流程说明
团队在Beta阶段将完成使用Team@OSC进行任务的管理(https://team.oschina.net/Bugphobia)和Github本身的Issues进行关联 |
n 团队全部成员均能够发布任务,但必须保证任务标签、任务说明均完备,在发布后任务将自动进入待办中状态 n 所有预定任务均会在两天前发布任务,团队的少年/少女在完成任务时应当首先将任务状态更改为进行中状态,而任务完成后可自行将任务状态更改为已完成(或者在Scrum Meeting上说明状况,由其他人归为“已完成”状态) n 状态进入“已完成后”,任务管理将进入“审阅阶段”,此阶段将由项目经理审阅后更改为“已验收”状态,此后项目经理将同期发布代码复审工作 |
n 团队各少年/少女,一定要在每晚22点左右关注https://team.oschina.net/Bugphobia/,任务将定期发布在这里,一定要保证任务不会被遗漏! n 注意:团队的所有项目,必须建立在XuebaOnline的任务下 n 文档一定要上传至completed文件夹,待审阅完成后将由钱林琛自动迁移到documents文件夹(后期的整理交由项目经理完成) |
0x04 :Beta阶段会议记录(2015/10/30)
会议记录Github传送门:Beta阶段会议记录(准备阶段)(20151130).md
0x0100:Beta阶段准备工作说明
2015/10/31会议说明(不计入Scrum Meeting):
Beta阶段接口需求文档基本分工:
项目经理根据Beta阶段任务及文档管理.md |
n 说明Beta阶段的整体开发进度(准备/开发/维护与推广) n 说明Beta阶段的基本任务分工 n 说明Beta阶段的任务分配流程和具体提交方法 n 说明文档的基本规范和负责人,协商后给出Deadline |
说明目前接口设计的完成情况(根据(排版二稿)Beta阶段前后端接口定义说明.md),询问接口设计的进一步工作安排 |
|
说明Alpha阶段具体完成的任务及Beta阶段的需要完成的任务 |
|
协商任务 |
n 前端方面:完成ReactJS的基本工作计划,给出一份基本的前端所需完成的工作列表 n 后端方面:根据接口提出修改意见,给出一份基本的后端所需完成的工作列表 n 测试方面:单元测试此次由前后端(主要是后端)自行处理和完成,白盒测试在后续会掺入其中,具体的测试方案列表也尽可能给出 |
图5 BugPhobia团队会议留影——又不知道谁莫名其妙地直接拍镜子(QQAQQ)
0x0104:Beta阶段具体任务安排说明
2015/10/31会议说明(不计入Scrum Meeting):
Beta阶段接口需求文档基本分工:
接口审核规范:王鹿鸣 |
n 依据目前两组接口的整合文档,给出必要的修改意见,其中包括 l 参数、URL本身的重命名 l 接口定义是否规范与完整 n 审核结束后,将继续开始和学霸Android端的开发成员进行进一步的沟通 n 此文档正式提交后,将和数据组、爬虫组讨论实现(接口定义同时包含需求) |
测试任务整理列表:李云涛 |
n 依据“Beta阶段工作整理模板.md”将测试的工作按照时间顺序进行说明,整理成列表,以便后续分配任务 |
前端任务说明列表:王鹿鸣 |
n 依据“Beta阶段工作整理模板.md”将前端的工作按照时间顺序进行说明,整理成列表,以便后续分配任务 |
后端任务说明列表:王文基 |
n 依据“Beta阶段工作整理模板.md”将后端的工作按照时间顺序进行说明,整理成列表,以便后续分配任务 |
特别说明:
n 需求分析整理完成状况良好,各部分接口均已独立完成,但未统一命名规则,细节规范等方面;因此,整合王鹿鸣,王文基,徐越的综合接口分析文档,交由王鹿鸣从架构的角度进行文档的复审和修改,待复审结束后于XueBa数据组交流具体的支持程度,进行进一步的任务细化
n 组内基本分工基本确定,在目前尚未开发的阶段,各成员的基本分工和职责已经确立,在正式开发时尽可能不会如Alpha阶段出现大幅度的工作整合和人员调整
n 文档规范,文档规范基本给出,但未给出前端、后端、测试的规范文档模板,此部分仍在定义中,同时Scrum Meeting的基本模板文档也未给出,此部分任务应当纳入准备阶段的必需任务进行准备
n 规格说明书的更新暂时未给出严格定义,等待后续的Meeting做进一步的安排
0x05 :Beta阶段待完成任务说明
会议记录Github传送门:Beta阶段待完成任务说明.md.md