Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Project management 有没有什么好的比喻可以向非程序员解释项目的复杂性?_Project Management - Fatal编程技术网

Project management 有没有什么好的比喻可以向非程序员解释项目的复杂性?

Project management 有没有什么好的比喻可以向非程序员解释项目的复杂性?,project-management,Project Management,刚才有人提到,我“并不完全是在建造西斯廷教堂”。这是真的,但我正在建造一个货运管理应用程序,它并不像在表单上绘制控件那样简单(尽管供应商会让你相信它) 我并不反对说这话的人,但我确实觉得我所做的事情的复杂性有点被误解了,否则就不会有这样的说法 对于非程序员来说,有什么好的比喻可以说明项目的复杂性吗?这不是火箭手术。我无法控制自己,但我必须发布来自Mitchell&Webb的视频: 顺便说一句,这可能有助于证明规划一个软件项目与规划一个教堂的建设涉及许多相同的问题。你有很多不同的方面需要管理,如

刚才有人提到,我“并不完全是在建造西斯廷教堂”。这是真的,但我正在建造一个货运管理应用程序,它并不像在表单上绘制控件那样简单(尽管供应商会让你相信它)

我并不反对说这话的人,但我确实觉得我所做的事情的复杂性有点被误解了,否则就不会有这样的说法


对于非程序员来说,有什么好的比喻可以说明项目的复杂性吗?

这不是火箭手术。

我无法控制自己,但我必须发布来自Mitchell&Webb的视频:

顺便说一句,这可能有助于证明规划一个软件项目与规划一个教堂的建设涉及许多相同的问题。你有很多不同的方面需要管理,如果有人在根本上犯了错误,整个想法就会崩溃。

老实说,没有


你能做的最好的事情就是让最终用户扮演计算机的角色,这样他们就必须仔细考虑每个用例,直到他们意识到这个过程天生是多么复杂。

也许你说不出为什么它是复杂的,但你可以参考关于复杂性的劳动


你可以看出,这个项目非常复杂,需要10个人在2年内完成这个项目。

如果这个人也不理解,那么隐喻对你没有任何好处。你应该试着用他们能理解的术语向个人解释复杂性。如果可能的话,试着将其与他们可能经历的复杂工作环境联系起来


对于一个会计师来说,你可以这样说:“这就像你拿着一个计算器,自己审计美联储”

如果这不像建造西斯廷教堂,也许更像是建造一座房子。建造一座房子需要很多不同的东西,有很多不同的人参与不同的专业。没有什么是过于复杂的,但有很多工作涉及


问题是它真的不像盖房子那样;这更像是建造一座随时都在变化的房子。不过,出于复杂性的考虑,这可能会更有效地说明你的观点。

我会回忆起我曾经听过的一个老轶事:

一位汽车修理工问一位外科医生:“你为什么挣这么多钱?你可能在做什么这么复杂的事?我的发动机工作看起来非常复杂,对我来说很有挑战性,我真的很在行!我可以修复发动机的任何故障!”

然后外科医生走过去,打开点火开关,启动一辆汽车。然后他看着机修工:“好吧,现在修好它。”


业务应用程序的主要目标通常是帮助组织内部的沟通。因此,当我试图描述一个业务应用程序的复杂性时,我常常倾向于破坏X和Y之间的一些日常业务通信,并将其粉碎

这使得没有任何编程经验的人更容易适应复杂性。因为你不仅要让X和Y说话,你还必须让他们的语言。等等


我希望这会有帮助。=)

让对方发言并提出困难的问题。也可能是一个有效的策略。他的观点基于哪些数字

数字更容易理解

你有几本书

  • 列表项
  • 用例
  • 要求
  • 参与类似项目的开发人员
  • 公司或需要的第三方产品
  • 使用者
  • 地点
你需要同步吗?寻找变形虫也是一个很好的方法

是否有风险管理?失败的影响是什么。一个标准的PC程序并不重要,但是如果你的程序计算错误的值或者不再工作,会发生什么呢

编程操作系统的困难是什么?我知道如何使用它:) 不是一个有效的答案,对吗

祝你好运一些比喻

  • 从复杂性的角度来看,这有点像是自己从零开始建造一辆汽车或一艘船。需要工程师团队的软件项目就像建造航天飞机一样。唯一的区别是,如果你把事情搞砸了,人们通常不会死。如果人们的生命受到威胁,那它更像是航天飞机。(不过,软件几乎从来没有火箭那么酷。)

  • 的确,您的软件项目不是西斯廷教堂(什么是?),但它有点像构建一个货运管理系统,它本身非常复杂。您可以在白板上绘制一些图表,也可以随身携带系统设计和数据流图表帮助他们查看。

  • 询问“您是否曾经构建过计算机”?“选择和订购所有组件、构建计算机、选择和安装操作软件、设备驱动程序、配置最终结果都将比此货运管理项目花费更少的时间和复杂度

关于将它与他们所做的事情联系起来的建议是好的,但是要确保你对他们所做的事情有足够的了解,以便进行适当的类比。如果他们是训练有素的机械师,而你说这与重建化油器(而不是,比如说,自动变速器)相当,他们可能会认为“好吧,所以它不是很复杂。”

家庭承包隐喻的适用性,并指出软件工程本质上很难解释,因为它是抽象的工作

Neil链接到Jim Waldo的一篇文章,他在文章中指出

这样,我们称之为软件工程实际上更像 建筑学(真正的建筑学)