满足用户需求的优秀软件的关键是什么 - macerub


能够满足用户需求的优秀软件的关键是什么?对我来说,它不是编程语言或框架。它是对业务域以及系统如何在用户上下文中工作的深刻理解。工程学科可以为我们提供帮助。

  1. 持续交付。当软件始终处于可发布状态时,我们可以经常将其交付给用户以获取新知识。
  2. 领域驱动设计。DDD使我们能够构建一个由团队,业务甚至源代码共享的领域模型。
  3. 干净的代码。源代码包含有关系统和域的知识。每次阅读时,干净的代码都会向我们反映此知识。
  4. 重构。重构使我们能够使代码中的知识保持最新。
  5. 配对编程。配对编程可在团队成员之间传播知识,有助于建立共识。
  6. 测试驱动开发。TDD使我们甚至在编写系统代码之前就指定了当前的知识。

其他:
DDD是团结开发和业务的圣杯.
这就是DDD表现出色的地方,它建立了开发人员和企业共享的无处不在的语言。
以敏捷方式构建-构建,测试和演示。还了解域以帮助抢占所有可能的异常路径
如今,大多数团队/公司都达不到以上列表的一半,因此我认为这些观点是朝正确方向迈进的良好起点.
我会在列表中添加以客户为中心的跨职能团队。除了工程之外,其他功能对于创建真正满足用户需求的软件也至关重要:-出色的UX / UI设计-满足用户实际需求的要求-客户/技术支持等