嵌入式项目和敏捷 - 可以/应该使用硬件吗?

时间:2008-11-05 06:53:27

标签: project-management hardware agile

硬件设计小组可以使用迭代和一般敏捷实践来设计电路板的方式有哪些?

如:

  • 硬件组是否应与项目团队集成?
  • 硬件组计划迭代如何工作?使用故事?
  • 由于PCB /电路板旋转的成本,敏捷团队可以首先执行部分功能板,然后继续添加新硬件以支持每个旋转的新功能吗?
  • 有没有办法让硬件与软件“持续集成”?每日?

4 个答案:

答案 0 :(得分:2)

我刚刚开始阅读关于scrum / agile和朋友的内容,所以我在脑海中说话而不是来自这里的经验:

  • 硬件组是否应与项目团队集成?
    看不出任何理由。如果部分开发由硬件ppl完成,那么它们应该成为项目团队的一部分。
  • 硬件组计划迭代如何工作?使用故事?
    故事只是该任务的另一个名称吗?因此,通常开发分裂为任务,我发现hw和sw开发之间没有差异。
  • 由于PCB /电路板旋转的成本,敏捷团队能否首先执行部分功能板,然后继续添加新硬件以支持每个旋转的新功能?
    您只需将sw开发与硬件演变同步即可。顺便说一句,在软件团队验证之后,hw任务应该转移到完成状态。恕我直言。
  • 有没有办法让硬件与软件“持续集成”?每日?
    我想说集成应该是事件驱动的,类似于提交到软件世界中的存储库应该触发集成/回归测试。每天在我看来有点矫枉过正,除非你每天都能完成一些事情。如果没有其他功能模块完成,则没有理由进行测试。

答案 1 :(得分:1)

是敏捷适用,TOYOTA是硬件公司(有点),它被认为(用LEAN和丰田的方式)是敏捷方法的先驱(我认为看板来自那里)< / p>

答案 2 :(得分:1)

大多数硬件仍然是迭代开发的。所谓的偶然迭代来自于试图获得完美的硬件并且没有成功,需要重新进行新的迭代。

通过思考敏捷并采用知名的软件敏捷世界中的方法,可以使用我们将进行多次迭代的事实来规划和执行硬件迭代。这样就可以为集成设计提供更高效的总体规划,可以将完整的产品提前交付给客户,并且可以在硬件设计的循环中提供真正的客户反馈!

我同意成本效益比纯软件设计更具挑战性,需要更加谨慎地进行规划 - 但包括硬件在内的大多数高级产品开发都将通过迭代的增量开发大大受益。

答案 3 :(得分:0)

正如在最初的问题中所提到的,开始进行迭代硬件设计时最大的问题之一就是旋转的成本。 显然,成本将取决于硬件的性质(例如电路板尺寸,电路板复杂性,元件成本,负载成本) - 但如果你有一个复杂的电路板,那么进行大量迭代的成本将会非常高昂。 / p>

尽管可能会将硬件特定部分的设计细节留给以后的迭代,但很可能您必须从一开始就容纳这些部分(例如,分配I / O,分配pcb房地产),这将再次难以迭代地做硬件。

在某种程度上,这取决于硬件的含义。如果您的硬件团队负责开发所有驱动程序和硬件测试代码,那么这是一个不同的故事。他们没有理由不能以迭代的方式为软件团队提供功能,这也意味着他们应该(必须?)成为项目团队的成员。

再次,根据您正在开发的硬件类型以及软件将用于与之通信的接口,设计部分功能板可能会有所帮助。如果它以允许调试和验证的方式公开所有接口,那么这个板将是最大的好处 - 这样在真正的硬件出现之前,至少可以部分地测试低级例程。 但是,如果真正的硬件所用的时间过长而且开发版本的时间要低得多,那么这只会是值得的。否则只需使用真正的硬件并节省成本。

持续集成原则上是一个伟大的理想,但实际情况将取决于您正在开发的硬件类型。 如果您的硬件适合自动化测试,那么这是一个很好的方法。有关如何实现此目的的一些指示,请参阅this问题。 (顺便说一下,可编程逻辑,如fpgas,应该总是连续集成)