开发开始之前要问的问题

所以您要添加功能?
清单使您保持理智

每个人都喜欢功能。 如果您的软件无法为他们做些什么,人们就不会使用您的软件。 很多时候,杀手级功能是创建软件的原因。 您有一个要解决的问题,并且对如何解决有一些想法。 在其他时候,您已经有了产品,但是您想要使其功能更强大或更灵活。 当您对新功能有所了解时,可能很难不感到迷惑,但是重要的是不要在没有适当考虑的情况下立即着手开发。 我最近读过史蒂夫·麦康奈尔(Steve McConnell)的Code Complete ,其中包含大量清单,用于检查您的项目需求是否缺少任何明显的漏洞。

受此启发,我整理了列表的大量修改版本以供工作使用。 它相对于我所做的工作(Web开发)更小,更优化。 与为新项目建立需求列表相比,它更侧重于向现有项目添加新功能。

它需要做什么?

  • 用户如何与之交互? 它可能具有哪种接口?
  • 输出是什么? 向用户显示什么,以什么格式显示?
  • 他们为什么需要此输出? 是满足他们需求的最佳格式吗?
  • 用户需要什么数据? 系统其他部分需要什么数据?
  • 需要哪种输入验证?
  • 新功能是否与任何现有功能冲突?
  • 这类似于现有功能吗? 新功能比对现有功能的修改更合适吗?
  • 它满足用户的所有需求吗? 是否说明了所有用例? 直观吗?

它需要多好?

  • 预期的响应时间是多少? 您期望该功能有多快?
  • 可接受的响应时间是多少? 您能摆脱它的速度有多慢?
  • 需要什么认证? 对于不同的访问级别,功能是否会有所不同?
  • 如果功能中断,后果如何? 是否有任何必须保留的数据?
  • 您将如何检测错误并从错误中恢复?

要求好吗?

  • 需求是从用户角度编写吗?
  • 是否有任何需求冲突?
  • 要求是否避免要求设计?
  • 要求是否足够详细?
  • 不参与创建的开发人员可以理解每个需求吗?
  • 每个需求都可以测试吗? 是否可以确认其完整性?

要求是否完整?

  • 是否有任何未解决问题的记录?
  • 如果满足所有要求,则该功能对用户是否可接受?
  • 是否存在仅仅为了安抚某人的要求? 如果发生过多的自行车脱落,那么并非严格需要的要求可能会列入清单。
  • 如果满足所有要求,您会为结果感到骄傲吗?

通过确保至少在开始打字之前已经尝试回答了每个问题,几乎可以肯定,比起我全力以赴,通往高质量成品的途径将更快,更愉快。

也许他们也会帮助您。

From: https://hackernoon.com/so-you-want-to-add-a-feature-5e3c5e8b191d

相关文章:

  • 2021-05-18
  • 2021-07-16
  • 2021-09-01
  • 2021-08-12
  • 2022-02-03
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-01-12
  • 2022-01-07
  • 2021-06-20
  • 2021-04-18
相关资源
相似解决方案