首页 > 其他分享 >软件开发人员应该提供少量的功能

软件开发人员应该提供少量的功能

时间:2022-09-26 13:11:50浏览次数:72  
标签:功能 故事 开发人员 用户 搜索 完成 软件 少量

软件开发人员应该提供少量的功能

想象一下,您在一个为传统零售商开发电子商务网站的团队中。产品所有者对商店定位器功能有一个很好的想法。然而,当你开始讨论这个故事时,你开始想知道有多少 迭代 您将开发功能。

Slice of cheesecake with sliced strawberry fruit.

Photo by 苏西黑兹尔伍德

让我们考虑一下此功能的要求:

  1. 用户可以通过邮政编码或城市和州搜索商店:
  2. 该应用程序将显示最近的五家商店及其地址、电话号码和营业时间。
  3. 该页面将显示一张地图,其中包含五个最近的商店,并且可以放大和缩小。
  4. 搜索结果还将显示区域经理的姓名、电话号码、电子邮件和图片。
  5. 如果用户已登录,让我们预先填写他们的地址以进行搜索。

一次太多

想了想之后 故事 或者 特征 ,您认为一对在一周内完成的工作量太大,甚至可能在两周内完成太多。

你能做什么?

您考虑将其分解,因此您在第一周完成域模型和服务,然后在第二周完成用户界面。这种方法可行,但存在一些问题。

首先,您在第一周开发的模型是否足以完整地完成用户界面而无需更改?他们是否有足够的功能,功能是否正确?

其次,当你的产品负责人询问故事的进展情况时,你会告诉他什么?你会说你完成了 40% 吗?如果你完成了 40%,你什么时候才能完成?更重要的是,您能否在此过程中展示任何功能?

最后,如果有人愿意帮助这个故事,你能交出任何任务吗?可以并行完成任何工作吗?

以这种方式分解您的故事,首先关注模型和服务,然后关注用户界面,会导致许多难题。不幸的是,答案要么是“不”,要么是“我不知道”。

那么你能做些什么来改善这种情况呢?

功能链

如果你拿这个怎么办 故事 而是将其重新表述为几个端到端的功能?每个功能都小得多。完成后,您可以向产品所有者演示每个部分。一旦完成了一些关键元素,您就可以并行开发其他功能。最后,一旦产品负责人开始看到这个故事被构建出来,他们可能会有不同的想法或想要完全改变方向。

那么我们需要做些什么来为我们的团队提供所有这些选择呢?

首先,让我们把这个故事分解成特征。区别是微妙的,开发团队可以互换使用这些词。

我喜欢将功能视为为用户增加价值的单个端到端功能。

那么,我们如何将 Store Locator 故事分解为一些组成功能呢?这是一种方法:

  1. 用户通过邮政编码搜索并查看包含地址和营业时间的商店列表。
  2. 用户按地址搜索。
  3. 结果以静态地图显示。
  4. 地图可以放大、缩小和平移。
  5. 显示区域经理的姓名、电话和电子邮件。
  6. 展示区域经理的照片。
  7. 用户登录时预填充搜索。

对每个人都有好处

当我们以这种方式通过特征来思考这个故事时,就会出现很多机会。每个部分都很小,集中,因此更容易开发。在开发了带有结果的初始搜索之后,您可以并行创建特征。产品经理将能够更直接地看到实际进展。

各个功能可以在彼此之间和其他故事之间进行优先级排序,以便仅开发最有价值的功能。

虽然我最初是从产品所有者的角度来分解故事,但对开发人员也有好处。最显着的优势是开发人员一次可以只专注于一个功能。专注于一个部分比原始的完整故事更容易思考。例如,您可以专注于搜索,而不必担心地图或区域经理。此外,在处理一个重要的故事时,很难知道从哪里开始。将其分解为细小的特征可以更容易集中注意力。

在薄片上工作也很有趣。快速获胜和快速反馈的结合使开发人员充满活力。此外,特征的激光焦点使它们的心理堆栈保持光亮。

细微差别

将重要的故事分成小而薄的片段并不总是直截了当的。

关键是要考虑什么能给用户带来价值,你可以向用户展示什么。你不希望你的故事太薄,所以没有什么可展示的。相反,您希望它们端到端地通过您的系统,从用户界面到您的域逻辑、持久性甚至协作系统。

这个例子不是虚构的,也不是理论上的。它来自我从事的一个实际项目。我们经常将其称为向我们的系统添加功能的绝佳方式。

带走

一旦你展示了工作功能,你就可以得到反馈来制作一个壮观的系统。这为受控创新和增长提供了肥沃的土壤,因为这一切都始于展示价值。

专注于细微的功能,并不断地停留在这个价值和创新的最佳位置。

_ 给我一个掌声和“_ ** 跟随** ” 如果你喜欢这篇文章。

关于美禄

_我是一名技术主管、作家、演讲者、企业家、开发人员和发明家。自 1995 年以来,我一直在开发软件,并在过去十年中开发团队。 _

我撰写有关软件、工程、管理和领导力的文章。

你也可以 在推特上关注我 _. _

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/39482/02002613

标签:功能,故事,开发人员,用户,搜索,完成,软件,少量
From: https://www.cnblogs.com/amboke/p/16730522.html

相关文章

  • 解決 yay 更新软件包遇到的文件校验失败问题
    最近更新系统时候发现,更新apifox软件失败了,这里记录一下解决过程。报错信息报错信息如下:::(1/1)正在解析SRCINFO:apifox==>正在创建软件包:apifox2.1.36-1(2022......
  • 对软件工程的理解
    对软件工程的理解软件工程就是经过时间考验、实践证明的思想和方法论的集合,是一门经验学科。对于一个稍微大型的工程我们不仅仅只要求数据结构简洁、算法实现快速。因为......
  • 软件工程师:意外之旅(如何学习编码和找到工作)
    软件工程师:意外之旅(如何学习编码和找到工作)如果(in_a_rush):如果你上车迟到了,需要完成你最近的副业,或者(上帝保佑)和一个真正的人(不是人工智能)约会,我会为你节省一些时间。TL;......
  • ubuntu 22.04安装常用办公软件
    WPS下载linux版,安装即可,地址:https://platform.wps.cn飞书下载linux版,安装即可,地址:https://www.feishu.cn/download微信下载优麒麟版,安装即可,地址:https://www.ubuntuky......
  • 软件工程的理解
          在学习这门课程以前,我一直认为软件工程是学习如何制作一个软件。但现在,我的看法有了改变。软件工程从客户的需求开始,到理解和定义用户的需求,再到实现、管理,同......
  • 为什么开发人员不喜欢 CSS?
    为什么开发人员不喜欢CSS?PeterGriffin—AmericanDad对我来说,写我的第一篇关于这个流行短语的Web集成文章似乎很明显:“我不喜欢CSS”谁以前没有听过或说过这......
  • 常见的数据库软件介绍和MySql的安装
    常见的数据库软件介绍MySQL:开源免费的数据库,小型的数据库,已经被Oracle收购了,MySQL6.x版本也开始收费Oracle:收费的大型数据库,Oracle公司的产品,Oracle收购SUN公司,收购MYSQL......
  • 中国工业软件为什么这么难?
    中国工业软件难的一个根本原因就是其工业软件的专业性太强,而中国的计算机科学与技术起步晚,发展缓慢,前期大多都是在引进消化推广,更谈不是自主研发什么,也自然出现不了像CAD、......
  • 可以关闭显示器的软件
    有的时候想不关电脑,暂时关闭显示器。有的显示器开关在前面,按一下开关就可以。但有的在背面,很不方便。有软件可以关闭显示器,可以发送快捷键到桌面,需要的时候双击就可以关......
  • Linux Subsystem For Android 11!适用于Debian GNU/Linux的Android子系统,完美兼容ARM
    本文将讲述如何在DebianStable系统安装一个Android11子系统,并且这个子系统带有Houdini可以兼容专为移动设备开发的ARM软件。在root权限下,编辑/etc/apt/sources.list增加......