V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Comdex
V2EX  ›  问与答

新手请教一下大家远程协作项目开发(也是多人协作)的经验。。

  •  
  •   Comdex · 2015-01-16 17:13:36 +08:00 · 5627 次点击
    这是一个创建于 3599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt.本人新手和几个队友(分隔各地)准备开发一个中小网站用的是java的SSH,我们这几个队友多人合作开发项目经验不足(以前都是单枪匹马干的,最多也两三个人的样子),现在我们决定了用git版本控制系统作为项目远程协作开发的基础,用哪些在线团队协作工具沟通交流(就比如tower,风车之类的),但我们项目经验不足,也没尝试过远程协作,最主要的是多人协作要怎么搞啊,来取取经,希望能得到系统的回答,我们都太菜了请轻喷。。。。那么问题来了,需求分析文档之类的东西有必要用Git管理么?用office的word还是纯文本文档记录?一个项目大家一般怎么分工的?(感觉很难分工的样子,有些东西有依赖的,数据库弄好了,有数据库操作接口才能搞神马注册登录吧?),项目开发过程中一般需要神马文档方便大家理解和分工的?(不用很正规的,毕竟也不是什么工作的项目,合作人数也不多就4,5个人吧)还有的是为了方便分工有必要先搞个文档定义好方法接口之类的然后大家根据这文档实现各个方法和进行调用?(神马生命周期法和快速原型法之类的?)字数有点多了,请大家不要介意。。。。说说你的分工开发项目的过程也可以,谢谢。。。

    28 条回复    2015-02-06 23:02:23 +08:00
    tabris17
        1
    tabris17  
       2015-01-16 17:16:32 +08:00   ❤️ 1
    文档可以使用Confluence或者开源的wiki系统

    项目管理可以用JIRA或者Redmine
    Comdex
        2
    Comdex  
    OP
       2015-01-16 17:30:47 +08:00
    @tabris17 十分感谢你的回答,我们做的项目不大,这些系统都没了解过会不会上手比较慢?其实就想知道多人合作开发中小项目的过程这些。。。。。还有一般怎样确定分工之类的
    Keinez
        3
    Keinez  
       2015-01-16 19:34:01 +08:00 via Android   ❤️ 1
    Slack(异步交流 + 连接协作工具) + 任意项目管理app + Google Docs + Skype + Teamviewer + Dropbox
    frozenshadow
        4
    frozenshadow  
       2015-01-16 20:51:37 +08:00   ❤️ 1
    啊,虽然我们也没试过。但是推荐一本书。 http://book.douban.com/subject/21362627/ remote
    Comdex
        5
    Comdex  
    OP
       2015-01-16 21:32:42 +08:00
    @Keinez
    @frozenshadow 其实重点不是远程而是多人如何分工,项目如何安排的事。。。。。
    Keinez
        6
    Keinez  
       2015-01-16 21:36:10 +08:00
    补充工作习惯:

    如果你们时差一致,建议每天一次半小时 meeting,使用 Skype 总结昨天的工作和分配今天需要的工作。

    如果时差不一致,需要你们有强大的自觉性,主要关注 Slack 和项目管理工具。

    Slack 会提醒你所连接的 app 有什么更新,而项目管理工具能让你清楚大家在搞定什么,目前有哪些事项,优先级如何,进度如何,deadline 如何……等等。
    Keinez
        7
    Keinez  
       2015-01-16 21:37:50 +08:00   ❤️ 1
    @frozenshadow v2ex 有 Remote 的译文,详情请自己搜索。

    @Comdex 如何安排,依照你们每个人擅长的事情而定。我比较喜欢扔一堆 task 到项目管理工具里面去,排好优先级,大家自己领。

    到时候每个人领了多少,完成率如何,完成质量怎样,一目了然。
    Comdex
        8
    Comdex  
    OP
       2015-01-16 21:57:36 +08:00
    @Keinez 主要是如何根据项目划分任务的问题,比如说如何分模块开发之类的,是根据详细定义了方法接口的文档划分任务开发呢还是各自做自己的那一块,就比如说一个人负责用户系统注册登录之类的开发,另一个人负责数据库操作之类这样的如何安排的,因为注册登录这些也会依赖数据库的操作大家又如何合作呢
    Keinez
        9
    Keinez  
       2015-01-16 22:06:13 +08:00
    @Comdex 嗯……我不是很懂程序开发的部分,但建议是按照功能/特性/bug分任务,然后分配一个人去领或者谁有空/有能力就去领。

    出了新需求或者新bug照做。
    zhouquanbest
        10
    zhouquanbest  
       2015-01-16 22:17:13 +08:00 via Android   ❤️ 1
    公司分广州和北京两地 合作了这么久
    我觉得其他的东西都是浮云
    最刚需的工具
    返璞归真

    YY语音

    谁用谁知道
    魔兽世界40人开团都用 为啥写代码十几个不用
    交流起来最舒爽的才是最值的
    wenbinwu
        11
    wenbinwu  
       2015-01-16 22:20:11 +08:00
    Slack + JIRA + BOX + Google Hangout
    我们至少在用这些,还有jabber,yammer等等
    Comdex
        12
    Comdex  
    OP
       2015-01-16 22:22:10 +08:00
    @Keinez 目前就是这个问题,就我刚才举得例子嘛,一个成员要做用户注册登录功能,那也要涉及数据库,那他是包揽所有么?这样他写的数据库操作可能和其他人重复呢?在一个项目里如何避免重复劳动?又要做什么准备才会让一个人的开发不会依赖另一个人做好才能做?
    @zhouquanbest 能说说具体的程序分工方面的经验么
    Comdex
        13
    Comdex  
    OP
       2015-01-16 22:23:30 +08:00
    @wenbinwu 工具之类已经很多选择了,现在我们的问题是程序设计中如何分工,需要产生什么文档才更方便分工协作的问题。。。。
    wenbinwu
        14
    wenbinwu  
       2015-01-16 22:29:25 +08:00
    分工不需要工具
    把结果记录在公共文档
    然后用jira之类的分配具体任务就行了
    Comdex
        15
    Comdex  
    OP
       2015-01-16 22:32:16 +08:00
    @wenbinwu 嗯嗯,问题就在于如何分工。。。。主要是关于程序设计方面的
    Keinez
        16
    Keinez  
       2015-01-16 22:33:38 +08:00
    @Comdex ……为什么会涉及数据库,用接口啊。
    Comdex
        17
    Comdex  
    OP
       2015-01-16 22:36:11 +08:00
    @Keinez 说到点上了,我是说我们是要写一份文档设计好各种可能用到的接口,列好功能特性,然后根据功能模块分工,各成员依赖于文档开发这样?这样前期做文档时会费时么?在设计接口时也不可能面面俱到。。。。
    wenbinwu
        18
    wenbinwu  
       2015-01-16 22:36:45 +08:00
    @Comdex 大伙儿先坐在一起商量吧, 把大问题分出来,依赖都写好
    然后自己挑着领任务
    Comdex
        19
    Comdex  
    OP
       2015-01-16 22:43:48 +08:00
    @wenbinwu 这个依赖是指一些公共的接口设计到数据库操作之类的接口么?主要产生这些文档?
    Keinez
        20
    Keinez  
       2015-01-16 22:47:27 +08:00
    @Comdex 你总不会连文档都不改吧……
    wenbinwu
        21
    wenbinwu  
       2015-01-16 22:52:02 +08:00
    @Comdex 可以把设计,实现当作不同task,也可以把它们看成一个task的不同步骤
    这个就看你们自己喜欢了
    而且,设计的时候一个人估计也不行,需要跟相关人员一同决定
    Comdex
        22
    Comdex  
    OP
       2015-01-16 23:00:47 +08:00
    @Keinez
    @wenbinwu 嗯嗯,那么你们觉得一般需要神马文档,仅仅是接口定义的文档,还有数据库逻辑模型之类的么(抑或直接设计好数据库)
    Keinez
        23
    Keinez  
       2015-01-16 23:32:40 +08:00
    @Comdex 交流和配合ok的话,接口定义就好了。如果你们东西太多记不住或者配合比较生疏,逻辑啊什么的细节最好写成文档,这样出问题也好对证。
    Comdex
        24
    Comdex  
    OP
       2015-01-16 23:38:03 +08:00
    @Keinez 谢谢指点。。。
    xi_lin
        25
    xi_lin  
       2015-01-16 23:45:00 +08:00 via Android   ❤️ 1
    需求文档可以先用多人写作方法写好
    然后大体定好实现轮廓
    最后redmine起ticket或者gitlab起issue各自领ticket去实现呗
    learnshare
        26
    learnshare  
       2015-01-16 23:46:36 +08:00
    工作流程要清晰,执行要坚定;
    任务划分要细,最好能精确时间点;
    沟通要多,永远不嫌多。
    yellowV2ex
        27
    yellowV2ex  
       2015-01-17 00:04:58 +08:00
    什么工具什么方式都是浮云

    项目要成,一定得有个人当管事儿的做好PM的角色
    kshift
        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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1571 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.