Jetbrains开发者日见闻(三)之Kotlin1.3新特性(inline class篇)
507
2022-05-30
开发任何一款硬件产品之前,我们都会希望准确地知道,“我们开发的产品到底是什么?需要花多少时间和金钱才能把这款产品推向市场?”
在初步计划阶段,你需要初步完成一项基本调研:这款产品有可能成功吗?
而在详细计划阶段,也即产品定义阶段,你要进一步打磨初步计划,以消除计划中的未知因素。
详细计划阶段的首要目标是让项目能够被合理预测,这样你就能清楚地知道:要做什么产品以及将产品推向市场需要花费多少时间和费用。
以下几项任务是你要在这个阶段完成的:
产品详细定义:产品是什么样的?如何使用?
深入详尽的计划:需要做什么?何时做?谁做?
开发成本是多少?
开发周期是多长?
需要什么资源和专业知识?
可靠的财务模型:制造和销售这款产品要花多少钱?
了解主要技术和商业风险,如果可以,在这个阶段结束之前,把这些风险降到最低。
在这个阶段,你至少需要完成产品的一个重要部分,尤其是产品规格书、需求文档或设计文件。
要想合理评估工作需求,你必须知道具体的设计信息。
例如,在硬件设计中,设计和制造一个塑料外壳,需要投入的精力和成本就会与金属外壳不同。
对那些技术上的未知因素应该如何处理呢?
如果你的产品需要一个 USB3.0 端口,但开发团队中没有人设计过这种电路,那你们就只能猜测设计和测试这种端口需要花多长时间。
但是,如果没有经过一定的研究,猜测结果就可能与实际结果相差很大。
在详细计划阶段需要尽量降低技术风险,减少技术上的未知因素,增强可预测性。
在产品设计和降低风险的过程中都应该做些什么呢?
1 – 产品设计
产品设计是描述用户如何与产品进行交互的艺术,它包括产品的颜色、尺寸、人体工程学以及其他与产品相关的描述。
在硬件领域,“设计”这个词通常针对产品外观、手感和行为(产品被用户体验到的部分)。
产品开发通常是指从产品创意到制造的整个过程,更具体地说,是实现产品设计的过程。
在这个阶段,设计包括以下内容:
# 1 – 用泡沫板或 3D 打印机制作 3D 模型
这些模型不仅有助于你从潜在用户那里收集反馈意见,而且有助于技术人员提前思考制造这款产品需要解决的机械和电子问题。
3D 模型通常用于检验产品核心需求,一般无法仅通过 3D 模型体验到目标产品的所有细节,也很难准确呈现外观颜色。
前段时间卫 Sir 给客户做产品方案的宣讲,期间有一个关键外观件是 3D 打印的模型,3D 打印一般是白色的塑料件。
而未来要批量的外观件是黑色的,现场便用黑色碳素笔摹绘了一番,这样也就让客户有了一个更直观的认识。
# 2 – 2D 渲染图和 3D 渲染图
这种图拥有精美的细节和颜色,但无法直接接触,只适合用来展示产品外观。
# 3 – 流程图中的用例图
用例图用来帮助软件开发者了解和评估他们的工作,包含用户使用产品时可能做的每一个任务流程,以及用户与产品之间的每一个交互步骤。
# 4 – 需求文档
用来描述产品必须实现的重要功能,比如,电池需要能支撑产品运行至少一年。
在定义好产品外观的详细特征之后,你需要为这款产品制定边界,将最严重的一些未知因素剔除在外。
如下图所示的产品边界图:
在后续的产品开发过程中,你也需要根据新知识做一些设计上的变动。
产品设计阶段的另一类未知因素是把设计变成现实的技术,接下来介绍降低风险的方法。
2 – 降低技术风险
降低技术风险是指把大的技术未知因素拆分成更小的技术未知因素。
大的技术未知因素通常是指你的团队从来没有接触过的那些技术,假如这一类未知因素比预期更具挑战性,或者根本不可解决。
比如,需要违反目前所知的物理规律,那它可能会破坏整个项目。
对于大的技术未知因素,降低风险的最好方法是将它付诸现实,缩小产品的规模,去证明它可行。
这种设计通常叫作概念验证或原理验证,它一般不是最终设计,而是一个最简单的实现,让你知道最终设计中需要什么。
例如,你正在为家用报警系统设计一个靠电池供电的玻璃破裂传感器。
这种传感器可能和基站相隔较远,需要通过无线信号把自己的状态传递给基站,这样的传感器需要有非常可靠的射频通信连接。
营销人员希望这款传感器是市场上最小型的,而电池是电路中的最大部件。
微型传感器意味着使用微型电池,而微型电池意味着功耗低,最耗电的部分是射频通信电路。
就目标而言,微型传感器等同于功耗低的射频电路。
团队中谁也没有设计过具备这些特性的射频电路,那么如何评估实现这种电路需要付出的努力呢?
你可以先假设微型电池能够正常工作,如果直接使用微型电池进行设计和开发,会发现需要开发出非常复杂的电路和软件,并且所需的时间和金钱远超预期。
如果发现微型电池的电量无法长时间为传感器供电而无法使用,该怎么做呢?
这就是你需要管理的大“意外”了。
为了增强对项目计划的信心,你可能会先制造一个由微型电池供电的射频电路,并且仔细对它做测试。
测试人员会将这个模型带回各自家里,以测试这个射频电路在多种情况下的连接状态。
其实,你不一定需要自己制造这种射频电路,可以浏览射频芯片数据手册,从中找到符合要求的低功耗射频电路。
在项目前期逐个排除这些会毁掉项目的不确定因素之后,你对产品开发范围的评估就会愈发自信。
决定为产品开发投入大量精力和资源之前,你要从全局审视一下,看看一切是否顺利:
统计数字看起来还好吗?
你是否仍看好项目的前景?
该不该继续做下去?
在这个阶段,基于所有计划,你应该对以下内容有明确的认识:
我们的产品能干什么?
产品外观是什么样子?
制造这款产品需要什么?
制造这款产品要花多少钱?
如何推销和销售这款产品?
潜在回报是多少?
虽然对这些问题的回答全是猜测,但是比刚有产品创意时要靠谱得多。
总结
根据卫 Sir 的实际项目经验,在这些详细评估中,关于成本和时间的估计往往偏低。
在产品开发中总会出现一些意外情况,不论你如何努力都无法避免这些意外。
所以,在估计开发成本和时间时,最好留出足够的余量,以便能从容应对意外情况的发生。
工业智能体 硬件开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。