在我们公司,我们将交付一种新产品,用于大规模通知,因此它是一个嵌入式软件项目,我们将使用SCRUM作为产品的框架。
我们已经开始记录产品的积压。根据我的理解,产品积压应该反映每个项目的业务价值。嵌入式软件的本质是它有很多技术细节,需要花费大量的时间为微控制器创建驱动程序,如SPI、UART、以太网、WIFI等等。
例如,系统通过播放消息来发出通知,所以很明显,播放消息是一种业务价值,但要实现这个目标,我必须写下-requirements,这也不是什么问题--对于许多驱动程序来说,比如SPI、MP3解码器芯片驱动程序、SD卡驱动程序,最后还有FAT,所以前面所有的驱动程序都有应该在产品待办事项中写入的要求,因此需求从一个业务价值需求开始,而它有大量的技术子需求。
这些并不能反映出客户的商业价值;有人能告诉我如何创建我的产品积压吗?
发布于 2014-02-20 01:12:30
在我工作的地方,我们创建了嵌入式系统,并将scrum用于我们的开发。你是从技术的角度来看待事物,而不是从特性的角度来看待事物。
你首先要问的是“为什么我们需要实现这一点?”例如:您为什么需要SPI?它是否将用于EEPROM,以便您可以存储序列号?或者可以连接到显示控制器,这样用户就可以看到显示器上的项目了?创建SPI驱动程序有很多很好的理由,但是创建SPI驱动程序并不是这些原因之一。
对于Scrum,您应该采用“我们不需要它,直到我们需要它”的策略,也就是说,您不应该在SPI或wifi或其他任何东西上浪费时间,直到有业务需求需要这些技术来完成为止。那么,商业需求就成了故事。
尝试“为配置存储添加EEPROM”而不是“创建SPI代码”
以及“为远程管理创建到服务器的连接”而不是“查找WIFI文档并实现”
发布于 2014-02-20 00:17:39
不要被琐碎的教条所困扰。Scrum的存在是为了使您更加敏捷。任何阻碍它的事情都可以被忽略。
的确,你不应该做不给商业价值的工作,但是价值有很多种形式。您是否从拥有以太网驱动程序中获得价值?我怀疑你会这么做,因为没有它,你就无法提供特定的功能。作为一名开发人员,我需要一个以太网驱动程序,以便实现需要互联网连接的功能。
所以,不要只把值看作是用户可见的特性。价值是任何能使你的产品变得更好的东西,即使它对最终用户是不可见的。
有些人会说,这不是一个有效的故事,故事应该只有用户可见的功能。我认为这也没关系,直到现在它会给你带来这样的问题。同样,scrum的目标是帮助您,并提高焦点和沟通。不要让你认为你应该做的事情妨碍你把事情做好。要务实,要诚实。如果你认为你需要发展一件事情,回答“为什么”和“这是给谁的?”答案不一定总是同一个人。
发布于 2018-01-05 21:11:01
在我的经验中,使用带有嵌入式开发的Scrum的关键挑战之一是,最好的Scrum团队提供完整的、工作的功能片段。从最深的内脏到使用者的曝光。这使得集成问题一直存在于一个团队和一个sprint中。因为最终用户可以看到和尝试结果,所以它证明了业务的价值。
即使对于纯软件来说,在每个级别上使故事足够细也是很有挑战性的,所以整个故事可以在一两个sprint中构建。但对于嵌入式系统来说,这可能是不可能的,因为最深的内核涉及到硬件,而硬件的适应速度不如软件快,因为它植根于物理世界。
理想的解决方案是提升你的硬件能力,这样它们的周期就会更快.有仿真器,短期快速周转运行,模型等.但那可能会很贵。因此,经常使用的折衷方案(我认为适用于您的情况)是放宽业务价值的概念,并让它包含更多的最终用户和应用程序所需的通用功能。
因此,例如,如果您需要构建WiFi,最好有最终用户的理由,或者为什么要这样做。找到它,并把它放在用户故事的定义,就像这个汽车:“无线提供乘员控制功能,以满足乘客的需要,同时也降低成本,增加可靠性和可维护性。”
https://softwareengineering.stackexchange.com/questions/229536
复制相似问题