Architecture 需求和技术设计作为一项工作?

Architecture 需求和技术设计作为一项工作?,architecture,project-management,requirements,Architecture,Project Management,Requirements,作为一名web架构师,我一直在从事一个大型、多年的项目 到目前为止,我的职责是获取客户分析师提供的需求文档,并将其转换为技术设计文档 “权力”建议我接管需求文档,并将其与我在技术设计方面的努力结合起来 在将需求和技术设计结合到一个步骤中时,您是否看到了一个特定的问题 请注意,我们已经进入了开发阶段,因此许多技术选择(操作系统、应用程序框架、数据库、服务器等)都已经确定下来。如果您“进入开发阶段”,我希望大多数需求都得到了很好的确定。我不认为需求需要在开发开始之前就确定下来(但愿如此),但我希望现

作为一名web架构师,我一直在从事一个大型、多年的项目

到目前为止,我的职责是获取客户分析师提供的需求文档,并将其转换为技术设计文档

“权力”建议我接管需求文档,并将其与我在技术设计方面的努力结合起来

在将需求和技术设计结合到一个步骤中时,您是否看到了一个特定的问题

请注意,我们已经进入了开发阶段,因此许多技术选择(操作系统、应用程序框架、数据库、服务器等)都已经确定下来。

如果您“进入开发阶段”,我希望大多数需求都得到了很好的确定。我不认为需求需要在开发开始之前就确定下来(但愿如此),但我希望现在能够非常确定您正在构建什么样的东西。因此,如果现在的重点只是“需求文档”(而不是真正深入了解客户在寻找什么),我看不出有什么深层次的问题

虽然将开发与“客户倡导”角色分离有一定的优势,但专业开发人员不应该在不产生任何利益冲突的情况下难以跟踪需求。你还担心其他问题吗?在这一点上,需求文档甚至是一项艰巨的任务吗?减少客户和开发人员之间的层数实际上听起来是一件非常好的事情。

如果您“非常熟悉开发”,我希望大多数需求都得到了很好的确认。我不认为需求需要在开发开始之前就确定下来(但愿如此),但我希望现在能够非常确定您正在构建什么样的东西。因此,如果现在的重点只是“需求文档”(而不是真正深入了解客户在寻找什么),我看不出有什么深层次的问题


虽然将开发与“客户倡导”角色分离有一定的优势,但专业开发人员不应该在不产生任何利益冲突的情况下难以跟踪需求。你还担心其他问题吗?在这一点上,需求文档甚至是一项艰巨的任务吗?减少客户和开发人员之间的层数实际上听起来是一件非常好的事情。

我认为由相同的人完成需求和设计是非常有价值的


如果你得到了需求,你实际上是在与企业对话。这将给你一个机会去了解业务,倾听他们真正需要的,不加修饰,不加过滤。你将有机会说服他们用商业术语来讨论这个问题,而不是假设一个技术解决方案,然后直接进行设计(例如,“将此列添加到此表中,并将其绑定到此页上的此文本框。”)也许你能看到解决他们甚至不知道存在的问题的方法。

我认为由相同的人完成需求和设计是非常有价值的

如果你得到了需求,你实际上是在与企业对话。这将给你一个机会去了解业务,倾听他们真正需要的,不加修饰,不加过滤。你将有机会说服他们用商业术语来讨论这个问题,而不是假设一个技术解决方案,然后直接进行设计(例如,“将此列添加到此表中,并将其绑定到此页面上的文本框”),也许你将能够看到解决他们甚至不知道存在的问题的方法。

“将需求和技术设计结合到一个步骤中,您是否发现了一个具体问题?”

需求几乎与技术设计无关

需求定义了“什么”必须发生。设计解释了为实现这一点而构建的“如何”

例如,我想要一杯啤酒——这是我的要求

技术设计可以是

  • 从我的椅子上下来,走下楼去。低成本。这里有风险。可能没有啤酒

  • 从我的椅子上下来,步行去酒吧。价格更高。这里几乎没有风险。除了星期天关门

  • 问问我的妻子。这里有巨大的风险。可能是意外的后果。然而,我已经授权解决这个问题,她现在要么在家里找到啤酒,跑到商店,要么告诉我自己买。如果她无论如何都要出去,我们又回到了低成本、无风险的状态

  • 一个要求。解决方案的多个设计。您不能在一个步骤中同时处理这两件事。

    您必须记录需求(参与者、用例、概念数据模型、概念处理模型)

    然后你必须设计一个解决方案。这个解决方案可能——也可能不——包括创建新软件

    在研究需求时,您经常会发现用户需要改变工作方式的情况。需求可以通过多种方式得到满足

    一个人既可以记录需求,也可以进行设计。但您必须单独进行。您必须以用户理解并同意问题性质以及声明问题已解决所需内容的方式记录需求

    然后——分别——你决定如何最好地优化成本、风险、交付时间、技能和可用技术,以提供问题的一些解决方案。

    “将需求和技术设计结合到一个步骤中,你是否发现了一个具体问题?”

    需求几乎与技术设计无关

    需求定义了“什么”必须发生。设计解释了为实现这一点而构建的“如何”

    例如,我想要一杯啤酒——这是我的要求

    技术设计可以是