冰多多团队Gamma阶段项目展示
[冰多多]Gamma项目展示
冰多多项目: 语音coding助手
Gamma阶段目标: 推出一个更加完整的IDE,完善编辑器功能,优化UI
一. 团队成员的简介和个人博客地址
成员 | 角色 | 个人博客地址 |
---|---|---|
卓培锦 | 前端开发+前后端对接 | https://www.cnblogs.com/butub/ |
牛雅哲 | 后端开发 | http://www.cnblogs.com/swainz/ |
韩笑冰 | 测试 | http://www.cnblogs.com/hanxiaobing/ |
李天宇 | 编辑器 | http://www.cnblogs.com/SephyFine/ |
余凯 | PM | http://www.cnblogs.com/imageboom/ |
二.软件工程
此处详细说明我们整个项目
2.1 团队项目的目标
项目的终极目标是让语音能够代替我们的双手, 在适当的场景, 提供的语音编程的功能. 当然这很困难, 所以我们分阶段去完成.
⚖️ 在Alpha阶段需要完成的是一个demo, run通整条语音到所需动作,动作到指定输出(到shell)的pipeline.
🗳️ 在beta阶段将alpha阶段设计好的编辑器\ shell \ 语音接口 整合起来, 组成一个完整的IDE, 提供简单的IDE功能
☑️ 在gamma阶段推出一个更加完整的IDE, 增加指令数, 优化UI, 考虑是否改成插件发布.
典型用户🅰️: 不同场景中, 只能使用手机临时Coding 的程序员
典型用户🅱️ : 由于手部残疾, 需要使用语音辅助coding 的人士
➡️ Gamma阶段预期用户数量: 150 , 活跃用户数量: 50
2.2 团队的产品如何满足了用户的需求?
alpha: 产品在alpha阶段通过在termux的基础上增加一个用于控制语音输入的按钮, 以及输入语音后对应的提示信息, 来帮助用户通过语音辅助输入. 同时单独实现一个编辑器,在beta阶段结合两个部分。
beta: 在beta阶段我们将alpha阶段已经改好的编辑器与语音版termux连接了起来(并且通过一个按钮来进行直接切换),用户可以在编辑器界面更加方便清晰地编写代码,然后切换到shell端来运行脚本.
gamma: 在gamma阶段我们通过收集用户问卷反馈,优化了编辑器UI,增加完善了编辑器功能,并应助教反馈添加了可拖拽的button.
2.3 事先定义的软件下载量达到了么?为什么没有达到?
⏰ 我们在alpha阶段由于没有给项目留出缓冲期,延误了产品在应用市场上面的发布,所以我们主要的推广方式为通过百度网盘分发给同学。而在beta以及gamma阶段我们陆续将产品发布到数个应用市场上并不断更新版本,总的软件下载量大致超过100人,达到了事先预想的下载量.
2.4 团队的成员如何分工协作的?有什么经验教训?
👽 分工是协商分工, 并且按照项目进度动态分配任务的, 除了每个人在阶段初期分配的相应角色的本职工作之外,可能还会在测试以及前后端对接等工作上进行详细的分工.
🚑 成员的协作上, 发现面对面的协作开发,会让效率变得更快. 不过更多时候通过会议以及github代码交流, 以及微信等别的联络手段在协作中也占很大的比重.
🐜 经验教训的话是在团队确定一个具体的功能的实现之前一定要做足调研以及和团队成员充分的沟通,不然会在实际实现过程中遇到很多细节上的问题,甚至此功能实现被放弃。
◀️: 该push组员的时候,一定要push,不能让项目停滞不前。
2.5团队如何进行项目管理
📉 我们通过github进行项目的管理.https://github.com/bingduoduo1
2.6 团队如何平衡 时间/质量/资源 争取如期完成任务的?
💨 在beta以及gamma阶段其实开发上的任务不如alpha阶段那么艰巨,而且也没有遇到像alpha阶段末期的突发意外,所以组内成员分工明确,在规定的基本宽裕的时间内各尽其职,就完成了现在的项目.时间上,在完成功能的基础上,如果有紧急的情况,大家都会把时间投入进去一起解决问题.
🦌 当然,因为我们从0开始打通一个项目,和继承上届项目的团队比起来,我们遇到的原生的,底层的bug非常多,我们团队已经尽最大努力去完成预定目标了.
2.7 在产品之外,团队代码的软件工程质量如何?如何用数据来证明?
🌍 工作分工质量尚可,参照github:https://github.com/bingduoduo1
🌏 团队组织水平上游,参照srcum博客:https://www.cnblogs.com/bingduoduo/p/10728132.html
2.8 测试用例数目,代码覆盖率数目。运行测试用例得到代码覆盖率的视频录像.
参见测试博客
2.9 代码规范在哪里?
在gamma阶段我们使用了checkstyle代码检查工具,并主要依照Google Java Style Guide中所规定的代码规范来进行检查。
Google Java Style Guide: https://google.github.io/styleguide/javaguide.html
Checkstyle doc: https://google.github.io/styleguide/javaguide.html
我们根据项目的具体情况,对google代码风格规范对应的checkstyle配置文件进行了一定的修改和补充,将修改后的配置文件作为我们的代码风格检查工具。传送门
该工具在对应的IDE中有插件配置,可以很方便地一键进行代码风格检查。
2.10 齐全的文档在哪里?
- 博客园团队博客:http://www.cnblogs.com/bingduoduo/
- github:public_doc仓库: https://github.com/bingduoduo1/public_doc
2.11 如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?
🤞 我们的项目统一在AndroidStudio上构建,Gradle版本4.10.1, Gradle-plugin版本3.3.0,ndk版本19.2.5345600,最低android api为21, 只要这几个版本配置正确,基本上不会有问题,我们团队开发中的issue可以提供一定的参考,但要继承这个项目需要对于代码有比较深的理解,因此读懂已有的代码的基础上,有一些android开发经验的同学要run起来这个项目并不难,因为底层的bug已经被我们团队排查过一遍了.
2.12 用户反馈
问卷形式
三.Beta和Gamma阶段与Alpha阶段的比较
3.1 后端shell与前端编辑器的连接
将beta阶段分离的shell部分和editor部分结合到一个app中,具体情况可以参见下文中的UI展示。
3.2 全新的UI界面风格及模式
3.3 在Beta和Gamma阶段学到的东西
可以参见技术博客
x 对androi UI 的事件分发,有了更加深入的理解, 对于整个android开发层面有了一个比较全面的认识
x 对于andrid的测试有了更深的了解, 单元测试,自动化模拟测试,场景测试, 压力测试, 代码保护等等
x 对于代码规范有了更加优雅的实现,通过合理地封装,让内在逻辑变得更加简洁明了
x 非常切实感受到项目管理的重要性, 对于人员的管理\代码的管理\整体进度的管理都非常重要, 任何一个方面做的不好,都影响项目的质量和进度。
四.团队项目的实际进展
4.1 Gamma阶段燃尽图如下:
4.2 发布功能:发布说明
👧 android端linux环境及终端
👨👧 语音代码输入
👨👧👦 代码编辑器及项目文件管理
👩👩👧👧 testing feature: pytorch auto training
[gamma阶段新功能展示视频]https://www.bilibili.com/video/av55420029/
4.3 发布软件:冰多多语音Coding助手
应用汇app平台:http://www.9ht.com/xz/297379.html
PC6下载站:http://www.pc6.com/az/471600.html
蒲公英平台:https://www.pgyer.com/Blh8
跑跑车游戏网:http://www.paopaoche.net/android/476099.html
我们的项目管理中燃尽图还算客观真实地描绘了项目的进展.
五. 团队成员在Gamma阶段的角色和具体贡献:
名字 | 角色 | 具体的可衡量的可验证的贡献 |
---|---|---|
zpj | 前段+ 前后端对接 | 博客X1 |
部分测试 | 14 commits | |
ui 优化,用户体验优化,UI新增功能 | ||
压力测试, 代码保护测试 | ||
总分: ×× |
名字 | 角色 | 具体的可衡量的可验证的贡献 |
---|---|---|
nyz | 后端开发 | 15 commits, new features |
项目功能调试 | ||
bug fix: 2 | ||
总分: ×× |
名字 | 角色 | 具体的可衡量的可验证的贡献 |
---|---|---|
hxb | 后端+测试 | 12 commits |
android 自动化测试\场景测试\单元测试 | ||
文档:1 | ||
总分:×× |
名字 | 角色 | 具体的可衡量的可验证的贡献 |
---|---|---|
lty | 后端 | commit: 8 |
编辑器功能添加 | ||
总分:×× |
名字 | 角色 | 具体的可衡量的可验证的贡献 |
---|---|---|
yk | PM | 文档:11 |
发布app所有事务及推广 | ||
维护github项目,看板 | ||
总分:×× |