写完了发现标题可能取错了,应该是《单人作坊,有什么比较好的项目管理工具套装》
场景是这样的:one-man workshop,手上有很多项目,不仅有自己做的小工具,还有从客户那边接的活儿,想把这些项目统一用工具管理起来。工具主要用于三个方面:需求捕获,代码管理,bug 追踪
具体需求是这样的:
1,需求捕获:我自己的小工具有非常明确的需求,少量文字+截图即可搞定;客户需求比较模糊,一般是丢过来一个 word 文档,也是少量文字+截图,需要我对其进行细化,形成无歧义可操作的详细需求,最后反馈给客户的时候也需要给他看这个详细需求,以免后续因需求定义模糊而撕逼,有的正式项目签合同会打印输出作为附件。
需要一个需求编辑 /管理工具,该工具需要具有以下功能:
a)能够做到图文混排,有很多客户过来的需求是直接截图的。
b)能够进行版本管理,只需要做到文本内容的版本管理(和 git 对代码进行管理一样),图片不需要管理
c)能够进行批量处理,两种方式:1,本身自带编程功能(比如 Word 支持 VBA,更复杂的能通过 Visual Studio 的 office interop ) 2,本身不带编程功能,但能够导出为普通编码进行处理(比如 xml )
d)能够导出电子文档,打印输出。
此外,最好具有以下补充功能:
e)最好能够具有搜索功能,不是单个文档内搜索,而是在多个文档内进行搜索。
f)最好用户能够访问,只能看不能编辑,能够写 comments,方便与用户讨论。
2,代码管理:这一块很成熟了,首选 git,其次 SVN ( SVN 在某些场景有 git 不可替代的功能),可以不用讨论。
3,Issue Tracking / Bug 追踪:分成两部分主要是这样的,对于自己的只需要做到 Bug 追踪,发现问题,直接定位处理;对于客户的项目,需要与客户有个交互,比较正式,要做到 Issue Tracking,整个过程如下:
需要一个 Issue Tracking 工具,该工具需要具有以下功能:
a)具有简单的流程管理功能,开 Ticket,提交报告,关 Ticket,确认等
b)能够提交图文并茂的文本内容,方便描述问题以及反馈意见
c)具有提醒功能,每天打开之后提示今天有几个 ticket 马上要到期了。
d)具有统计功能,今天有几个新增的 tickect,有几个待完成的 ticket,有几个正在进行的 ticket,做到心里有数,督促自己干活儿,激发成就感。
e)最好能够与 git/svn 进行交互整合,能够直接看到变更的上下文以及前后对比。
上面整个系统有几个共性的约束:
1,所有工具要么是独立应用程序,在 windwos 下面跑;要么简单 BS 系统,能在虚拟机 Debian 上跑,我需要拖着笔记本到处跑,我本身也不喜欢那些重量级的东西。
2,不考虑 office 365,github 等所有云端或者在线的方案,接入网络必须在可控制情况下进行,因为客户明确要求资料不可以放出去。
3,考虑到后续二次开发以及扩展为小型团队的可能性,优先使用开源方案,其次考虑一次性付费方案,不考虑购买按人头 /使用时间买 Licence 的方案。
4,如果是在虚拟机上跑的 BS 系统,最好是 PHP+MySQL 实现,或者 Python 也行,Ruby 和 Java 感觉有点重,数据库最好也是 MySQL,SQLite 也能接受,不想再装个数据库。
--------------------------------------------
接着来说说可选方案吧。
首先看一下我所在公司的方案,公司不缺钱,所有用的东西都是花钱买的,最上面有集团级别的 PLM 系统,有专门的开发团队维护。下面简单描述下:
1,需求部分,重量级跨部门的使用的是 Rational DOORS,简单的使用的是 Word 配合 Sharepoint。DOORS 的优点很多,比如上面 1 部分的 a-f 项都能满足,缺点是启动慢,用户体验不如写 Word 文档来的酣畅淋漓。
2,代码管理,SVN 和 git 都有用,SVN 主要是历史项目,git 新项目用的多。
3,Issue Tracking,这个没得选,以前用的某国产定制 MIS 系统,好在也不复杂,现在全部转 JIRA 了,定制好了流程之后,老项目导入 JIRA 很顺利。JIRA 也很好用。
公司还有很多其他神器,不缺钱真的是可以随便玩。
其次来分析一下单人干活儿场景的选项:
公司级的那几个,我个人使用体验后的结果是,除了 SVN 和 git 之外,全部不采用。
1,需求管理,其实总结下来分为两大类,一类是以 Word,Typora, LaTex 为代表的以文档为中心的模式;一类是以 DOORS,wiki 系统,wordpress 等以数据库为中心的模式。
word 能满足绝大部分要求,和客户沟通起来客户接受度也比较高。但是有几个问题:
a) 跨文档搜索困难,虽然可以用 sharepoint 或者 vs interop 来进行某种变通,但其实我期望的是类似 wiki 或者 wordpress 那种搜索。
b) 版本管理困难(我指的是像 git 管理代码那样逐行管理,尝试过将 word 导出为 xml 格式,太乱,而且变更起来不是按照正文的逐行管理)。
Typora 和 LaTex 用户无法接受,而且图片无法直接嵌入到文档中(我不是深度用户,了解不多,但 Word 导出的 xml 是能够将图片嵌入到文档本身的。)
DOORS 功能倒是强大,全部可以满足,但太重,替代产品有个 ReqView,没用过,而且按人头 /时间收费,299 刀一年。
wiki 系统,wordpress 也有很多应用案例,比如 Chromium Project 就是用这种在线文档方式管理的,但有一个问题我不知道如何解决:每次产生变更之后,如何追踪这些变更。
2,代码管理,git 无疑,但 SVN 有一个优势就是 TortoiseSVN 不知道用的什么方法是可以将 Word 文档按行进行处理的,diff 功能能够按行识别。此外,公司用的 GitLab 功能强大,但太重,用的是 Ruby,数据库默认是 PostgreSQL,虚拟机感觉会跪。好在 git 的 bare repository 能够满足当前需求。
3,Issue Tracking / Bug 追踪:JIRA 是不可能的。
主要考虑 Redmine,受这篇文章影响: http://www.stackprinter.com/export?service=stackoverflow&question=1130466&printer=false&linktohome=true
但是现在才看到这货也是 Ruby 写的啊(不好意思,Ruby 给我感觉就是慢,耗资源)
BugZilla 看起来也很不错的样子,但是没有用过,有使用过的能介绍一下么?
以上,请大家自由发挥,有好的 idea 或者 case 分享的,我会点赞感谢回复。
一定要轻量,一定要轻量,一定要轻量。重要的事情说三遍。
1
GooMS 2017-11-21 16:09:52 +08:00 via Android
轻量啊,我用 github 就可以完成所有工作
|
2
Rheinmetal 2017-11-21 20:50:40 +08:00
http://iissnan.com/progit/html/zh/ch7_2.html
git diff word 好办 在 gitarribute 里面配置一下就行了 需要一个额外的 word 转换成文本的工具 其他需求看看有没有合适的 github 插件 Zenhub 之类的? |
3
shijingshijing OP @Rheinmetal
@GooMS 感谢回复,正文里面说明了,不考虑 office 365,github 等云端或者在线的模式,只能自己搭建,不接入互联网(确切的说是对网络访问有控制,通过 VPN 或者 ZeroTier 等方式) |
4
GooMS 2017-11-21 22:18:50 +08:00 via Android
@shijingshijing bug 要求客户提供?你全内网怎么办?
|
5
GooMS 2017-11-21 22:20:26 +08:00 via Android
Leanote, gitlab
|
6
mlyy 2017-11-21 22:28:29 +08:00 via iPhone
trello
|
7
forestyuan 2017-11-21 22:32:15 +08:00
单人用的话,我觉得拿个小本子记下来就行了
|
8
shijingshijing OP @GooMS 客户通过 vpn 或者 ZeroTier 接入,按局域网客户端操作,这个我已经试过了,没问题。
|
9
shijingshijing OP @GooMS 控制接入的实现方案分两种情形:
1,放在我电脑的虚拟机里,我到客户那边 on-site,接入他们内网,该虚拟机作为服务器,同时我在我自己笔记本上也能干活儿。此时不需要 ZeroTier 等第三方。 2,我在家,提前跟客户商定好某个时间,在这个时间点,我开启虚拟机,启动 ZeroTier,我笔记本也启动 ZeroTier,客户那边也启动 ZeroTier,我们组成一个虚拟的局域网,速度慢点,但是传资料什么的没有问题。事情处理完毕之后,我们断开网络,虚拟机关闭,断开与互联网连接。 |
10
mol310 2017-11-21 22:57:07 +08:00
禅道
|
11
Rheinmetal 2017-11-29 11:04:33 +08:00 1
gogs
|
12
shijingshijing OP @Rheinmetal 谢谢,目测是个神器,好多 star。。。。
|
13
shijingshijing OP @Rheinmetal 专程再次前来感谢,真是个神器,而且是中国人开发的。除了没有 wiki 系统(或者是我还没学会或者找到),对 MySQL 版本有要求,要 5.7 以上,其他几乎完美。太感谢了。
|
14
Rheinmetal 2017-12-07 18:12:32 +08:00
|
15
shijingshijing OP @shijingshijing
@Rheinmetal 挖坟 mark 一下,前几天也有人说了,gogs 有个 fork 叫 Gitea,也是很好用的。 https://gitea.io/en-us/ https://github.com/go-gitea/gitea |