微软项目管理软件是IT项目或软件开发的最佳工具吗?还是有更好的替代品?
该项目并不适合完全管理开发。我认为它对于进度安排/工作分解有一定的用处。
如果你使用微软技术栈,Team Foundation Server 是一个不错的项目管理解决方案。它可以与 Project 集成进行进度安排,并提供源代码控制、工作项(任务/缺陷)跟踪和文档管理(通过 sharepoint)。2008 版本已经成熟,2010 版本在需求规格和可追溯性方面尤其有前途。
你可以用一堆开源和/或价格较低的现成软件复制 TFS 的功能,但是更难集成。一旦设置好了,哪种方法更灵活、更易于维护就是个争议。
无论平台如何,以下内容都是必需的:
我倾向于使用MSProject进行容量规划 - 一个很好的大概率范围内的谁可以在一段时间内做什么的计划,以一种抽象的水平使其易于调整计划。对于日常跟踪实际工作,我使用Fogbugz。我认为它是用于战略规划的MSProject/Gantty工具和用于战术管理和规划的Fogbugz。
根据你所使用的过程情况而定——如果是类似瀑布流的流程,或者项目中有很多非软件部分(基础架构、制造、营销等),那么Project对于整体任务管理还可以——它在这方面当然和其他类似工具一样竞争力十足。
我认为任何“项目管理”工具(任务、WBS、甘特图等)都不太能很好地管理详细任务,特别是在进入主要软件开发阶段时——我通常会用Excel来处理我参与的项目。
当然,成功管理非平凡软件项目的方法远远不止可以通过像Project这样的工具管理的部分。它无法对需求、问题、缺陷、会议、测试开发等进行有效管理,但这也并不是它的目的。
由于这些限制,我通常在规划阶段才会从Project中获得最大的价值——确定任务拆分,需要完成什么以及大致按什么顺序进行。正如Eisenhower所说:“为战斗做准备时,我总是发现计划是没用的,但规划是必不可少的。” MS Project是一个有用的规划工具。
个人而言,我不认为 MS Project 适用于软件开发(我曾使用过它,但并非出于纯粹批评的目的)。
如果你正在建造一座房子或其他没有如此不可控因素的东西,那么它是很棒的选择(例如,你会有多少错误?错误需要多长时间来修复?会有多少功能膨胀?)
我喜欢保持我的日程安排非常简单,这样更多的人可以理解它们,因此我只使用 Google 电子表格。
我使用的结构在这里进一步描述:使用 Google 电子表格进行项目日程安排
希望这有所帮助
--LM
至少对于软件开发来说,有许多更好的替代方案。其中之一是嵌入在Microsoft Visual Studio Team System中的工具。您还可以查看Rally Software和Version One的工具。后者非常适合敏捷方法,而前者则支持敏捷和传统的CMM方法。
鉴于甚至项目团队自己也不使用 Project 来开发项目(源自:Joel Spolsky),我不想用它来开发。
我在我们的 Bug 跟踪器中跟踪我的开发任务,而项目文件只提供了“计划 1 周、开发 5 周、QA 3 周、部署 1 周”之类的非常宽泛的概述。
至于 BugTracker,FogBugz 具有这种很好的估算追踪功能,我觉得对制定时间表非常有用,这也是我不使用 Project 的另一个原因。
但是再次强调,我不是项目经理,所以对我来说,Project 只是一个不必要的复杂、不太适合多用户使用且有一些过时感的工具,适用于建造房屋、公路或太空站,但不适用于软件。