软件需求分析的五个步骤

本文与Ian Tewksbury共同撰写。

无论您如何定义云,云只是用户执行其组织价值流中的一部分的另一种工具。 当谈论任何新的范式或技术(云可以说是两者)时,很容易被它闪亮的新颖性所分散。 对话可以Swift转变为功能性愿望清单,这些愿望清单由一系列永无止境的问题引起,您可能已经考虑了所有这些问题:

  • 它是公共的,私人的还是混合的?
  • 它会使用虚拟机或容器,还是同时使用两者?
  • 会自助吗?
  • 它是从开发到生产的全自动化产品,还是有手动门?
  • 我们能做到多快?
  • 那么工具X,Y或Z呢?

清单继续。

那是因为交付的不是用户想要或需要的工具。 更糟糕的是,当用户确实需要一系列可以随着时间推移而换出的工具时,随着新的,更明亮,升级的工具可以更好地满足他们的需求,它可能只是一个工具。

专注于重要的事情

问题是焦点,传统上一直是工具。 但是这些工具并不能为您的组织增加价值。 最终用户会使用工具。 您需要将重点从构建云(例如技术和工具)转移到人员,用户。

除了使用工具的用户(而不是工具本身)是推动价值的事实之外,还有其他一些理由将注意力集中在用户身上。 这些工具供用户用来解决他们的问题并允许他们创造价值,因此,如果这些工具不能满足那些用户的需求,那么这些工具将不会被使用。 如果您提供了用户不喜欢的工具,那么他们将不会使用它们。 这是人类的自然行为。

IT行业数十年来一直为用户提供单一解决方案,因为只有一两种选择,而用户无权更改。 这已不再是这种情况。 我们现在生活在技术选择的世界中。 没有选择的权利不再是用户所接受的; 他们在个人技术生活中有很多选择,他们也希望在工作场所也有选择。 今天的用户已经受过教育,并且知道有比您提供的更好的选择。

结果,在物理上最安全的位置之外,无法阻止他们仅执行他们想要的操作,我们称之为“影子IT”。 如果您的组织具有如此严格的安全性和合规性策略,以至于无法掩盖IT,那么您最好的许多人都会感到沮丧,而转向其他为他们提供选择的组织。

由于所有这些原因,您必须在设计最终用户时最先考虑昂贵且耗时的云项目。

建立满足用户需求的云的五步过程

现在我们知道了原因 ,让我们谈谈如何 。 您如何为最终用户构建云? 您如何开始将注意力从技术转移到使用该技术的人们身上?

通过经验,我们了解到最好的方法涉及两件事:从用户那里获得不断的反馈,以及迭代地构建事物。

您的云环境将随着您的组织不断发展。 以下五步过程将帮助您创建满足用户需求的云。

1.确定您的用户是谁。

在开始向用户提问之前,首先必须确定新云的用户是谁。 他们可能包括在云上构建应用程序的开发人员。 将运营,维护并可能构建云的运营团队; 还有保护您组织的安全团队。 对于第一次迭代,将用户范围缩小到较小的组,这样您就不会因反馈而感到不知所措。 要求您确定的每个用户组任命两名联络员(主要和次要),他们将代表他们的团队在这次旅程中。 这也将使您的初次交付体积和时间都较小。

2.与您的用户面对面交流,以获取宝贵的意见。

获得用户反馈的最佳方法是直接沟通。 如果您收到回复,要求输入的大量电子邮件将自动选择答复者。 小组讨论可能会有所帮助,但是当人们有一个私人的,专心的听众时,他们会变得更加坦率。

与您的第一批用户安排面对面的个人会议,向他们询问以下问题:

  • 需要什么来完成任务?
  • 想要什么来完成任务?
  • 您当前最烦人的技术难题是什么?
  • 您当前最烦人的政策或程序上的痛苦是什么?
  • 您有什么想法可以解决您的任何需求,想要或痛苦?

这些问题只是指导原则,并不是每个组织的理想选择。 它们不应该是您提出的唯一问题,而应该引起进一步的讨论。 一定要告诉人们说或问的任何内容都应作为反馈,所有反馈(无论是正面还是负面)都是有帮助的。 这些对话的结果将有助于确定您的发展重点。

收集这种水平的个性化反馈是保持最初的用户规模较小的另一个原因:与每个用户坐下来要花费很多时间,但是我们发现绝对值得投资。

3.设计并交付解决方案的第一版。

从最初的用户那里收集反馈后,就可以设计并提供功能了。 我们建议尝试提供整个解决方案。 设计和交付阶段应该很短; 这是为了避免因花一年时间构建您认为正确的解决方案而犯的巨大错误,而只是让您的用户拒绝它,因为这对他们没有好处。 您选择的用于构建云的特定工具将取决于您的组织及其特定需求。 只要确保您构建的解决方案基于用户的反馈,并以小块的形式交付它,以尽可能多地征求他们的反馈。

4.询问用户有关第一次迭代的反馈。

太好了,现在您已经设计了新奇的新云并将其首次交付给最终用户! 您没有花一年的时间来完成它,而是一小部分地解决了它。 一小部分做事情为什么很重要? 这是因为您要回到用户组并收集有关设计和交付的反馈。 他们喜欢什么? 他们不喜欢什么? 您是否正确解决了他们的担忧? 技术很棒,但是系统的流程或策略方面仍然缺乏吗?

同样,您要提出的问题取决于您的组织。 这里的关键是继续早期阶段的讨论。 毕竟,您是在为用户构建此云,因此请确保对用户有用,并有效利用每个人的时间。

5.返回步骤1。

这是一个反复的过程。 您的第一次交付应该是快速而小巧的,以后的所有迭代也应该如此。 不要指望能够一次,两次甚至三次遵循此过程并完成。 当您进行迭代时,您将引入更多的用户并在此过程中变得更好。 您将从用户那里获得更多支持。 您将能够更快,更可靠地进行迭代。 最后,您将更改流程以满足用户的需求。

用户是此过程中最重要的部分,但迭代是第二重要的部分,因为迭代使您可以继续与用户联系并获取更多信息。 在每个阶段中,请注意哪些有效,哪些无效。 内省和诚实。 我们是否为所花费的时间提供了最大的价值? 如果不是,请在下一阶段尝试其他操作。 关于在每个周期中不花费太多时间的重要之处在于,如果这次不起作用,您可以轻松地对其进行下一次调整,直到找到适合您组织的方法为止。

这仅仅是开始

通过许多客户参与,用户收集的反馈以及现场同行的经验,我们一次又一次地发现,构建云时您能做的最重要的事情就是与用户交谈。 看起来似乎很明显,但是令人惊讶的是,有多少组织将花费数月或数年时间来构建某些东西,然后发现它甚至对最终用户没有用。

现在您知道了为什么要继续关注最终用户制定一个以他们为中心的云的过程。 剩下的部分是我们大家都喜欢的部分,是您外出去做的部分。


本文基于“ 为最终用户设计混合云,否则将失败 ”,作者将在5月8日至10日在旧金山举行的Red Hat Summit 2018上发表演讲。

5月7日前注册可节省500美元的注册费用。 在付款页面上使用折扣码OPEN18来应用折扣。

翻译自: https://opensource.com/article/18/4/5-steps-building-your-cloud-correctly

软件需求分析的五个步骤

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐