More Related Content
Similar to 我的最小项目管理工具集 (20)
More from wensheng wei (20)
我的最小项目管理工具集
- 1. 我的最小项目管理工具集
作者:江南白衣
2006 年 JOLT 大奖(http://www.sdmagazine.com)的得奖名单:
企业项目管理:WelcomRisk 2.6(Welcom)
缺陷跟踪、变更与配置管理:Perforce SCM 2005(Perforce)
设计与建模:Lattix LDM 2.0(Lattix)
项目质量管理:Rally 5.6(Rally Software Development)
测试工具: VMTN Subscription 2005(VMware)
不知道他们长什么样子吗?没所谓了,工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。总要洗净铅华
的总结出一些最必要的,能提供最大辅力加持的工具。
参见《死亡中旅》2nd 第 x 章--最小工具集.
1.版本管理工具
有没有版本管理,可以作为项目到底有没有推行软件工程管理的一条华丽的分隔线。
因为现在是 2006 年了,我们选的是 Subversion。
客户端工具:小海龟(http://tortoisesvn.tigris.org/)。这个 CVS 版的姊妹工具以前就号称 WinCVS 杀手了,与
Window Explorer 右键的整合,摒弃了必须专门跑一个 Client 的传统。
文本比较与合并工具:小海龟里集成的 TortoiseMerge。除了 Update 和 Commit 外,查看历史版本差异,合并版
本冲突是大家最常做的事情了,所以工具也一定要用适合的。
Web 浏览代码:Trac(http://www.edgewall.com/trac/),完全合乎让人 Pleasure 标准的 Web 版代码展示工具。能
够方便的查看,Search 代码,观察仓库的提交日志。
如果团队里依然用 CVS 的话,相对应的推荐套件就是:
l 客户端:小海龟(www.tortoisecvs.org)
l 差异比较工具:WinMerge
l Web 代码浏览工具:Fisheye
l 帐号管理工具:CVSTrac
2.项目计划,任务分配,需求变更管理,Bug 管理工具
偶然的,我发现自己把这些都交给了 JIRA 完成。
项目计划,任务分配,进度跟踪,需求变更管理,Bug 管理几乎就是 PM 的全部工作了。
以前总有很多软件分开来管理这些问题,同一问题经常要 Copy Paste 好几个软件。
但如果你的团队的项目计划是 XP plan 风格 而不是 MS Project。
那恭喜了,一个 JIRA 就可以完成所有任务。
但 MS Project 实在深得各位老板厚爱,所以我们会做一个粒度很粗的 Project 来应付老板、开会
和监理,让他们大概了解项目的计划和进度。而采用敏捷编程的计划风格,灵活的向团员
分配具体任务。
看 Jolt 的奖项设置,也可以看到这种把 N 种项目管理工具组合归并的趋势,去年
的“Change and Configuration Management Tools”和“Test-Defect Tracking Tool”,已经合
并成“Defect Tracking, Change and Configuration Management”
3. 设计建模工具
- 2. 虽然程序员都不太喜欢代码以外的任何东西,当然也包括 UML 图。但实践证明敏捷编程也不能完全抛弃设
计,如果将 UML 图用于纯粹的交流工具而不是 MDA 一类宏伟愿望的话还是挺有用的,比如静态 Class 图和顺序
图是我最经常画的东西。
有很多明星级的工具可以画这些图,但我某天发现,一个很小巧的工具
Jude(http://jude.change-vision.com/jude-web/index.html)已经可以把这两种图画得很好。大家都
可以在使用内存怪兽般的设计建模工具时,寻找属于自己的袖珍玲珑版工具。
另外,如果要画流程图。我喜欢 SmartDraw 多过 Visio。因为 SmartDraw 有很多色彩鲜艳,配
色好看的模板,现成又好看的东西才是第一选择。
4.开发环境
曾几何时,Visaul C++6.0 是我认为最完美的开发环境,而随着 IDEA 和 Eclipse 的不断升级,我
们的个人品味与懒惰程度也在共同提高。同时,Eclipse 也依靠它无敌的 Plugin 编队,将自己的
风格逐一推向 Java、C++、PHP、Python 和 Ruby 等领域,有一统江湖的趋势。
重构(二级)
即使团队用得最多的只是 Rename、Move、Extract Method 等几个基本动作,Java EE 架构里牵一发动全身的事情也
太多了,重构会帮你把所有事情做干净,所以我现在已形成依赖,如果不用重构,随便改一样东西,肯定造成一
堆东西编译不过或者 Web 应用启动失败。IntelliJ IDEA 作为第一个支持重构的工具,已经一路高歌把重构的概念
深入到 JSP、XML、JavaScript 和 CSS 等,实在是相当聪明。
Flying Error 提示和自动修正(二级)
Flying Error 提示在 Java IDE 里已经逐渐成了标准配置,有错了马上提示就地更正,不需要积了一堆错误等到编译
时才慢慢查看 Error Message 排错。又是 IDEA,不但提示错误,还会提出几种可选的修正方案,你点一下就会帮你
自动修正。比如一个函数会抛出必须进行处理的 checked 异常,你如果调用了这个函数,IDEA 就会提示你“是在
调用的地方进行 Try Catch 呢,还是在外层函数声明 Throws 这个 Exception?”你选择之后就会帮你自动完成,感
觉非常贴心。
Smart Complete(二级)
比如现在要输入 myFirstBook.setPublishDate(publishDate)这句代码,上一代的 IDE 在输入 myBook.后,会弹出下拉
菜单显示 Book 类的所有函数让你选择。
而新一代的 IDE,AI 都高得吓人,总能通过变量类型与上下文的名字猜出你想输入的内容,比如“my+热键”就
能生成 myFirstBook,“(+热键”就能生成 publishDate。如此 Smart 的结果,就是我编码的过程中热键不断,成了
彻底的懒人。
Debug Java EE 应用(二级)
Web 开发者一般用 System.out 或者 Log4j 来显示调试信息,但对于曾经桌面编程的程序员来说,直接进入调试模
式,单步跟踪程序执行路径,想看哪个变量就看哪个变量,才是天经地义的事情。慢慢的,这一代的 IDE 也已经
觉醒,通过与 Application Server 的集成,可以在 JSP,甚至第三方类库的源代码如 Spring Framework 的
HibernateDAOTemplate 里设置断点,然后单步执行,察看变量的变化。
如果左看右看,其他语言的 IDE 都很难符合上面的要求,不妨等待 Eclipse 的强大平台,一个个插件的慢慢统一。
5.团队 IM 工具和共享文件夹
关于交流工具,从前是言必称 Email 的。而随着社会的进步,现在更提倡交流的即时性,因此,“Face to
Face”的交流被作为首选,早上 15 分钟的短会, IM 工具被作为与 Email 同等重要的手段。
说起 IM 工具,很多公司都会选择严肃的 MSN 而不喜欢 QQ。但我还是喜欢 QQ 的群功能,而且虽然提倡交流
的即时,但避免打扰对于开发者也很重要,QQ 新版的“来消息时只显示消息条数”能起到同样的免干扰作用。