代码之家  ›  专栏  ›  技术社区  ›  NoMoreZealots

如何让客户在开发过程中接受更好的实践和跨平台调试?

  •  1
  • NoMoreZealots  · 技术社区  · 17 年前

    • 诊断代码
    • 跨平台兼容性代码
    • 对不用于此应用程序的方法进行分类(“客户代码审阅问题:请验证是否实际调用了所有方法,并删除未使用的代码。”向divirgent代码库问好。)
    • 任何他们认为最终用户不会关心的事情。(他们实际上从不询问最终用户。)

    他们告诉我,我可以有一个版本,我用“验证算法”,但它必须从客户提交删除。我试着解释我不能验证一个与我提交的版本不同的版本,但是他们似乎没有得到它。跨平台的东西很重要,因为我们通常同时开始硬件和软件设计,早期开发必须使用不同的硬件集进行测试/调试。

    4 回复  |  直到 14 年前
        1
  •  3
  •   Norman Ramsey    17 年前

    不清楚谁拥有你的代码(你的雇主或客户),也不清楚你的客户是否不愿意 支付 用它。例如,如果您的客户认为他们不关心跨平台,那么他们不愿意为将来可能只对他们有利或只对您的其他客户有利的东西付费是完全正确的。

    另外,如果您的客户是为嵌入式平台开发的,那么ROM和RAM的每个字节都很重要,他们再次要求您消除不必要的代码是正确的。

    所以呢 如何维护一个单一的、统一的、不发散的代码库 在满足客户需求的同时?专门从事!

    我有一个同事,他创立了一家公司,唯一的业务是USB软件栈。他们有令人难以置信的跨平台问题、配置等等。他们对这个问题的解决方案是拥有一个单一的代码库,然后自动为每个客户专门化它。自动专门化包括删除特定平台上被认为“不必要”的代码。在不了解更多关于你的问题、你的业务或你的其他客户的情况下,我会向你推荐这条路。

        2
  •  2
  •   Community Mohan Dere    9 年前

    这是一个艰难的决定。我本该提出的大多数建议都已经完成了,并发表了评论。但我还有一个。

    comment ,你提到“当一个真正的问题发生时,他们通常会忘记我们的设计异议,并将其归咎于我们。”这对我说,你处于某种不双赢的境地。

    在不知道你和这个客户的关系的情况下,除了持续时间(和明显的好斗性),我唯一的建议就是写一份经过验证的设计异议文件。这是一个更多的工作,但一个CYA的东西,当他们否决你,然后责怪你的问题无论如何。如果他们已经向你支付T&M的费用来解决在现场发现的问题,那么这可能就不那么重要了,但是如果他们希望你免费解决这些问题,这可以作为谈判的筹码。

    几轮修复对他们的伤害和对你的伤害一样大,他们可能只是转身开始允许一些诊断(如果没有其他的)。

        3
  •  1
  •   Stefan Kendall    17 年前

    编辑:我假设单元测试之类的东西没有包含在最终的可交付成果中,因为那样做很愚蠢。也许客户认为是这样。

        4
  •  1
  •   soru    17 年前