rt.本人新手和几个队友(分隔各地)准备开发一个中小网站用的是java的SSH,我们这几个队友多人合作开发项目经验不足(以前都是单枪匹马干的,最多也两三个人的样子),现在我们决定了用git版本控制系统作为项目远程协作开发的基础,用哪些在线团队协作工具沟通交流(就比如tower,风车之类的),但我们项目经验不足,也没尝试过远程协作,最主要的是多人协作要怎么搞啊,来取取经,希望能得到系统的回答,我们都太菜了请轻喷。。。。那么问题来了,需求分析文档之类的东西有必要用Git管理么?用office的word还是纯文本文档记录?一个项目大家一般怎么分工的?(感觉很难分工的样子,有些东西有依赖的,数据库弄好了,有数据库操作接口才能搞神马注册登录吧?),项目开发过程中一般需要神马文档方便大家理解和分工的?(不用很正规的,毕竟也不是什么工作的项目,合作人数也不多就4,5个人吧)还有的是为了方便分工有必要先搞个文档定义好方法接口之类的然后大家根据这文档实现各个方法和进行调用?(神马生命周期法和快速原型法之类的?)字数有点多了,请大家不要介意。。。。说说你的分工开发项目的过程也可以,谢谢。。。
1
tabris17 2015-01-16 17:16:32 +08:00 1
文档可以使用Confluence或者开源的wiki系统
项目管理可以用JIRA或者Redmine |
2
Comdex OP @tabris17 十分感谢你的回答,我们做的项目不大,这些系统都没了解过会不会上手比较慢?其实就想知道多人合作开发中小项目的过程这些。。。。。还有一般怎样确定分工之类的
|
3
Keinez 2015-01-16 19:34:01 +08:00 via Android 1
Slack(异步交流 + 连接协作工具) + 任意项目管理app + Google Docs + Skype + Teamviewer + Dropbox
|
4
frozenshadow 2015-01-16 20:51:37 +08:00 1
啊,虽然我们也没试过。但是推荐一本书。 http://book.douban.com/subject/21362627/ remote
|
5
Comdex OP |
6
Keinez 2015-01-16 21:36:10 +08:00
补充工作习惯:
如果你们时差一致,建议每天一次半小时 meeting,使用 Skype 总结昨天的工作和分配今天需要的工作。 如果时差不一致,需要你们有强大的自觉性,主要关注 Slack 和项目管理工具。 Slack 会提醒你所连接的 app 有什么更新,而项目管理工具能让你清楚大家在搞定什么,目前有哪些事项,优先级如何,进度如何,deadline 如何……等等。 |
7
Keinez 2015-01-16 21:37:50 +08:00 1
@frozenshadow v2ex 有 Remote 的译文,详情请自己搜索。
@Comdex 如何安排,依照你们每个人擅长的事情而定。我比较喜欢扔一堆 task 到项目管理工具里面去,排好优先级,大家自己领。 到时候每个人领了多少,完成率如何,完成质量怎样,一目了然。 |
8
Comdex OP @Keinez 主要是如何根据项目划分任务的问题,比如说如何分模块开发之类的,是根据详细定义了方法接口的文档划分任务开发呢还是各自做自己的那一块,就比如说一个人负责用户系统注册登录之类的开发,另一个人负责数据库操作之类这样的如何安排的,因为注册登录这些也会依赖数据库的操作大家又如何合作呢
|
9
Keinez 2015-01-16 22:06:13 +08:00
|
10
zhouquanbest 2015-01-16 22:17:13 +08:00 via Android 1
公司分广州和北京两地 合作了这么久
我觉得其他的东西都是浮云 最刚需的工具 返璞归真 YY语音 谁用谁知道 魔兽世界40人开团都用 为啥写代码十几个不用 交流起来最舒爽的才是最值的 |
11
wenbinwu 2015-01-16 22:20:11 +08:00
Slack + JIRA + BOX + Google Hangout
我们至少在用这些,还有jabber,yammer等等 |
12
Comdex OP @Keinez 目前就是这个问题,就我刚才举得例子嘛,一个成员要做用户注册登录功能,那也要涉及数据库,那他是包揽所有么?这样他写的数据库操作可能和其他人重复呢?在一个项目里如何避免重复劳动?又要做什么准备才会让一个人的开发不会依赖另一个人做好才能做?
@zhouquanbest 能说说具体的程序分工方面的经验么 |
13
Comdex OP @wenbinwu 工具之类已经很多选择了,现在我们的问题是程序设计中如何分工,需要产生什么文档才更方便分工协作的问题。。。。
|
14
wenbinwu 2015-01-16 22:29:25 +08:00
分工不需要工具
把结果记录在公共文档 然后用jira之类的分配具体任务就行了 |
17
Comdex OP @Keinez 说到点上了,我是说我们是要写一份文档设计好各种可能用到的接口,列好功能特性,然后根据功能模块分工,各成员依赖于文档开发这样?这样前期做文档时会费时么?在设计接口时也不可能面面俱到。。。。
|
21
wenbinwu 2015-01-16 22:52:02 +08:00
|
22
Comdex OP |
23
Keinez 2015-01-16 23:32:40 +08:00
@Comdex 交流和配合ok的话,接口定义就好了。如果你们东西太多记不住或者配合比较生疏,逻辑啊什么的细节最好写成文档,这样出问题也好对证。
|
25
xi_lin 2015-01-16 23:45:00 +08:00 via Android 1
需求文档可以先用多人写作方法写好
然后大体定好实现轮廓 最后redmine起ticket或者gitlab起issue各自领ticket去实现呗 |
26
learnshare 2015-01-16 23:46:36 +08:00
工作流程要清晰,执行要坚定;
任务划分要细,最好能精确时间点; 沟通要多,永远不嫌多。 |
27
yellowV2ex 2015-01-17 00:04:58 +08:00
什么工具什么方式都是浮云
项目要成,一定得有个人当管事儿的做好PM的角色 |
28
kshift 2015-02-06 23:02:23 +08:00
「Tower 团队 24 个月的远程协作实践」希望有帮助。
http://www.infoq.com/cn/presentations/tower-team-24-months-remote-collaborative-practice |