by 肖剑楠
协同编辑
团队开发
注册登录
1. 作为一个游客,我希望可以输入用户名、邮箱、密码,点击注册创建新账号;
2. 作为已注册用户,我希望可以使用已注册过的邮箱、密码,点击登陆进入主页;
项目创建及团队建设
3. 作为一个已登录用户,我希望可以新建一个开发项目,以方便自己查看、管理;
4. 作为一个已登录用户,我希望创建项目之后可以通过邀请组建相应的开发团队,以方便管理组员;
5. 作为一个组长,我希望在输入成员用户名发出邀请时,可看到多个候选用户,点击即可自动填充,确认后发出邀请,这样可以避免用户输错以及发出错误邀请;
6. 作为一个组长,我希望可以查看组员信息,更改TA在这个项目中的权限,这样可以实现权力下放,减轻组长的压力,也方便以后团队的扩大;
开发流程管理
7. 作为一个项目管理者,我希望可以控制项目中文件的编辑权限,这样可以实现按模块分工管理,同时方便了代码bug的追踪及解决;
8. 作为一个成员,我希望当自己需要修改一个文件的时候,可以方便的获得组长的许可;
9. 作为一个项目的成员,我希望可以点击新建文件,并可以直接对其进行修改;
协同编辑
10. 作为一个成员,我希望在修改一个文件的时候,其他成员只可以在该文件上添加注释作为批注及提示,而不是直接硬性的修改我已经写好的代码;
11. 作为一个成员,我希望在对一个文件进行代码编辑、查看、添加注释时,我可以看到同组的其他成员对这个文件的修改,至少包括修改人的用户名和修改的大致位置;
成员交流
13. 作为一个成员,我希望在编辑代码时,可以在聊天窗口输入文本,并在发送后让其他成员及时看到该信息,同时我也可以实时的看到其他成员发出的信息,这样可以方便与其他人的沟通,尤其是在远程的情况下;
14. 作为一个成员,我希望打开项目进入项目首页后,即可对其他成员讲话,并能收听到其他成员的讨论;
15. 作为一个成员,我希望可以点击静音,此时自己讲话的所有内容不会被其他成员听到,这样可以一定程度上保护自己的隐私,也避免了在环境喧闹的情况下影响其他人的讨论;
16. 作为一个成员,我还希望可以点击屏蔽,此时其他人说的话不会被自己听到,尤其是在专心编写代码的时候,可以不受打扰;
17. 作为一个组长,我希望可以录音,记录组内讨论音频;点击结束后,录音结束。这样可以作为团队开发备忘记录;
版本保存及回溯
18. 作为一个组长,我希望可以备份代码的当前版本;同时还可以看到之前备份过的所有版本;
19. 作为一个组长,我想在查看历史版本时,还可以查看任意一个版本的信息,下载该版本,还可以回溯到该版本;
开发时间轴
20. 作为一个成员,我希望可以查看一个项目的开发历史,比如以时间轴的形式呈现;
21. 作为一个成员,我希望在开发节点历史中,可以看到项目的各历史版本、组长保存的团队语音记录的时间节点;还可以查看更多详细的日志,包括每次代码提交的详细信息以及注释添加信息;
P.S. 经历了全队3、4个小时的激烈讨论,最终确定了以上功能及需求。目标在于在Popush的基础上完善形成一个在线项目开发管理平台,主要面向对象为有协同开发、团队开发进程管理等需求的小微团队。阶段目标是实现团队开发的管理及迭代,在此基础上,还可对扩展实现成员贡献的量化评价、团队开发进程的交互式监督,当然这还是后话了。