是否有一种万无一失的方法来消除项目中涉及的所有风险?它是否会因您从事的项目类型(即:网站、客户端/服务器...)而有所不同?
8 回答
绝对没有万无一失的方法。关于这个主题已经写了整本书。说到书,我推荐这本:
Steve McConnell 的软件项目生存指南(我知道,糟糕的图像)
“[风险]会因[您]从事的项目类型而异吗?”
是的,一点没错。软件项目有几种普遍的风险(缺乏管理承诺、沟通不畅等),但风险“概况”因环境而异。例如,视频游戏项目的风险与企业供应链管理项目的风险大不相同。
对于企业发展,风险因管理支持和复杂程度、团队结构、项目规模、面向客户与内部、平台选择和集成水平而异,仅举一些主要领域。
风险不同的事实是“领域经验不足”是普遍风险的原因之一。
各种情况下的风险概况是学术论文的热门主题(进行调查,研究一些数字,获得出版学分......)。它们通常不会引人入胜,但在制定项目计划时非常值得回顾。
DeMarco 和 Lister的《 Waltzing with Bears 》是一本很棒的关于风险管理的短书。
没有万无一失的方法——最危险的风险是你没有预见到的。
不幸的是,开发人员往往是乐观主义者,这使情况更加复杂。如果您向程序员询问“最可能的估计”,您往往会得到与要求“最佳情况估计”相同的答案。根据我的经验,你能做的最好的事情就是找到优秀的人,并且总是假设他们的估计值很低,即使在你要求他们不要乐观之后,即使在你告诉他们包括一些无法预料的弯路之后也是如此。
最重要的是,永远,永远,永远不要告诉你的程序员估算值太高,他需要降低它。如果你想从你的帽子里拿出一个估计,那就这样做,但要诚实地承认你是从你的帽子里拿出来的。当你强迫他降低它时,假装“这是程序员的估计”是冒险和不诚实的。
我强烈推荐Fred Brooks 的The Mythical Man-Month,以了解有关软件开发过程危险的其他见解。
风险管理是一个巨大的话题,可能无法在 stackoverflow 的答案中得到公正的回答。你最好的选择是去买一本关于软件项目管理的好书(软件项目生存指南的推荐是一本很好的书),然后从那里开始。
经验。开发和发布软件的实践将使您能够以结构化分析无法做到的方式预测和降低风险。
我非常喜欢这篇文章:软件设计中的风险分析(PDF),看看它,对风险分析进行了很好的概述,但我认为没有万无一失的方法,它真的取决于你的环境.. .
几个主要风险包括:程序员是否知道需要构建什么,如何做,他们可以一起工作吗?一些开发方法,包括敏捷和极端,通过尽快构建一些真正的东西来正面应对这些风险,然后通过一次追求一个高优先级的业务目标来发展一个工作系统。