
软件产品与硬件产品已成为推动科技发展的两大核心力量 。 然而 , 尽管两者在许多领域相互融合、相互促进 , 但它们在产品形态、开发流程、商业模式以及市场表现等方面仍存在显著差异 。 本文将从一个物联网与智能硬件从业者的视角出发 , 深入探讨软件产品与硬件产品的本质区别 。互联网、智能硬件以及科技企业会开发各种产品 , 其中包括各类软件产品与硬件产品 , 那么这两种产品有什么区别呢?
本文笔者将通过探讨这两类产品的共性、各自的属性、以及在一些特定领域 , 这两类产品的差异去进行区分 。
编写该文章目的有三:
- 作为笔者自身的学习总结 。
- 希望有幸能够给到从业伙伴一些启发与帮助 。
- 希望能以此抛砖引玉与从业前辈或同仁进行探讨和交流 , 以寻求更长足的进步与成长 。
一、什么是产品
产品:能够为企业或组织带来商业化价值 , 满足用户需求的商品或服务 。“产品”这一名词的定义中 , 包含几个关键词 , 即“商业化价值”、“满足用户需求”、“商品或服务” , 分别对应了产品的目的、方法和表现形式 。
产品的目的 , 一定是围绕着商业化价值展开的 。 商业化价值又可以区分为直接与间接价值 , 进而区分通过售卖带来直接现金流的产品 , 以及通过业务支持 , 实现赋能和增长价值的产品 。
产品的方法 , 是通过满足用户需求来实现产品成功 。 如何满足用户需求 , 就需要搞清楚“用户是谁”“需求或痛点是什么”“使用场景是什么”这几个问题 。 这便是产品思维中的“用户”、“需求”、“场景”三大要素 。
产品的表现形式 , 是商品或者服务 。 商品又可分为实体和虚拟两类 , 通常通过差价盈利 。 而服务则会由于用户的不同需求有更多细分的表现 。 这部分既是产品的表现形式 , 同时又指向产品的盈利模式(销售、广告、增值、抽成、授权、金融等) 。
而本文中所要探讨的“软件”与“硬件”产品 , 属于产品表现形式的子集 , 此类定义方式一般在互联网行业比较少见(互联网常通过业务类型来定义产品类型) , 常见于智能硬件行业 。
二、什么是软件产品
软件产品即通过代码开发、通讯技术等实现功能 , 以计算机、HMI、手机等终端作为载体 , 提供人机交互(或集成在硬件中的程序) , 以解决特定问题 , 满足用户需求的产品 。
2.1 软件产品的类型软件产品的类型很多 , 通常可以按照如下类型进行划分:
1)按用户群体区分
- C端:服务于用户的普通消费者的软件产品 。
- B端:服务于企业或组织的软件产品 。
- G端:服务于政府机构的软件 。
- PC端:用于电脑端的软件 , 如后台系统、PC端网页等 。
- 移动端:运行于移动端的产品 。
- 车载端:搭载于汽车车载屏幕操作的软件产品 。
- 其他智能硬件操作终端::搭载在其他智能硬件产品HMI屏上操作的产品 , 如智能手表、智能电表、服务机器人等 。
- 商品类:软件产品作为独立的商品对外出售 , 包括市场上常见的Saas、Paas、Iaas等 , 以及各种收费的SDK等 。
- 服务类:多见于互联网企业 , 作为服务载体和业务支撑 , 如通过该软件产品提供交易、社交、娱乐、金融、资讯等服务 , 并通过其他商业化模式获得盈利 。
- 业务支撑类:常见于企业内部 , 用于企业降本增效 , 或提供数字化支持 , 包括ERP、WMS、CRM等产品 。
- 硬件产品功能支撑类:用于支撑企业硬件产品功能 , 包括后台控制系统 , 或集成在硬件系统中的程序等 。
按应用场景区分 , 可将软件产品分为系统软件、应用软件、中间件、嵌入式软件 。
- 系统软件:类似于基础设施 , 保障软件系统的正常运转 , 常见的包括操作程序(Windows、Linux、MacOS、Android等) , 驱动程序(设备驱动、显卡驱动等) 。
- 应用软件:通过功能实现与前端交互 , 用于满足用户需求的软件 , 包括办公类软件、常见的互联网APP、网站、客户端软件等 。
- 中间件:中间件是位于操作系统、应用程序、数据库之间的软件层 , 充当不同系统或软件程序之间的“桥梁” 。 负责协调通信、数据交换或功能扩展 。 常见的有Web中间件、数据库中间件、消息中间件等 。
- 嵌入式软件:专为嵌入式系统设计的软件 , 通常直接运行在硬件设备上 , 用于控制、监测或增强设备功能 。 与应用软件不同 , 高度依赖特定硬件 , 通常要满足实时性、低功耗、小体积的要求 。
- 本地软件:一般指下载并安装在计算机上的软件程序 。
- 云端软件:部署在云端 , 通过服务器远程提供服务 , 如阿里云服务器 。
- Web应用:通过浏览器访问 , 如各类网站以及B/S架构类程序 。
- 移动应用:搭载在手机、平板等移动设备上的软件 。
- 集成于硬件中的软件:搭载与硬件HMI或集成在硬件功能模块上的程序 。
2.2 软件产品的组成形式一个完整的软件产品 , 通常由前端、后端、数据与算法、基础设施等部分组成 。
1)前端
指用户直接交互的软件界面部分 , 泛指应用软件、网站中用户看得见、摸得着的所有视觉和交互层 。 它的核心目标是将数据与服务以直观、高效的方式呈现给用户 , 同时确保良好的用户体验 。
应用软件中前端开发常通过采用HTML、CSS、JavaScript等技术实现 。
2)后端
后端是支撑软件系统运行的核心逻辑层 , 负责处理数据存储、业务逻辑、安全认证等用户看不到的“幕后”工作 。 它确保用户的请求得到正确的处理 , 并返回所需的结果 。
技术栈一般通过编程语言(如Java、Python、Go等)、框架(Spring Boot、Django等)、数据库(PostgreSQL、MySQL、Redis等)、服务器(Nginx、Apache等)、云服务(AWS、云服务等)组成 。
3)数据与算法
属于上述“后端”定义的子集 , 作为抽离出的独立模块 , 主要作用是管理数据资产并通过算法提取价值 。
一般用来满足数据存储、大数据分析、以及各种通过各种算法提供智能化的功能支持 。
4)基础设施
基础设施是支撑软件运行的底层硬件设施与软件环境 , 提供计算、网络、存储等基础资源 , 确保程序能够稳定、高效、安全地运行 。
其核心组成部分包括:
- 硬件层:服务器(物理机或虚拟机)、存储设备(硬盘、SSD、NAS等)、网络设备(路由器、网关、交换机)等
- 软件层:操作系统(Linux、WindowsServer)、虚拟化技术(VMware、KVM)、容量化平台(Docker、Kubernetes)等 。
- 网络与安全:CDN、防火墙、VPN/专线等 。
2.3 软件产品的开发过程常见软件产品的开发一般会经历如下流程:
产品定义-产品设计(原型图、功能逻辑、接口参数等)-UI设计-软件开发-功能测试-产品上线-迭代优化等 。
1)产品定义:
解决“为什么做”与“做什么”的问题 。
产品定义一般是基于企业或组织战略与阶段目标(商业化、增长、降本增效、业务支撑等) , 定义一款用于实现该目标的软件产品或功能模块 。 相关工作内容包括市场调研、用户调研、用户画像、需求分析等 , 通过以上内容确定用户、需求、场景等产品关键信息 。
2、产品规划
解决“怎么做”与“怎么迭代”的问题
产品规划一般包括需求分析、优先级确定 , MVP(最小可行性方案)设计、Roadmap(迭代路径)设计、风险与应对策略制定、产品开发规划(团队资源、技术资源、开发周期等)、需求验证方案(关键指标等)制定、等工作 , 确定产品如何落地 , 如何实现需求验证与业务闭环 。
3)产品设计用来确定产品的详细方案 。
软件产品设计一般基于规划版本内要满足的需求 , 进行功能设计 。 具体工作其中包括业务流程设计、功能流程设计、产品结构设计、功能结构设计、数据结构设计、功能与接口定义、界面原型设计、交互与用户体验设计、以及展示界面UI设计等工作 。
当然也不代表所有工作都需要产品经理亲自上手 , 通常企业会配备架构师(或技术责任人角色)以及UI设计师、用户体验设计、交互设计师等岗位 , 共同完成该部分的工作 。
一般产品设计方案通过PRD实现 , 需求与方案也会经过多轮评审或者通过Demo与用户开展一些可用性测试 , 来确保产品方案的可行性 。
4)产品开发
通过产品开发 , 使产品能够落地 。
一般软件产品开发过程包括后端开发、前端开发、前后端联调、功能与单元模块测试、系统集成测试、产品验收、UI验收等流程 。 当然如果涉及数据分析或者算法等功能 , 还会涉及数据功能开发与算法功能开发等(该部分功能一般属于独立模块 , 通过后端服务调用来实现) 。
产品开发过程可以通过一些项目管理工具来管控整个产品开发的时间节点 , 保证开发工作能够按照上线目标时间完成 。 产品开发完成后 , 一般由运维工程师负责产品的部署 。
5)产品上线与推广
通过产品上线推广 , 促成用户使用 。
产品上线一般通过发布会、产品内部公告、广告等宣传方式将产品上线信息传递给用户 , 促成目标用户使用产品 。 一般软件产品迭代 , 会通过产品内部公告、更新日志等形式完成产品上线信息的传达 。
0-1开发的产品 , 在C端领域一般会通过一些运营或营销手段 , 比如地推、优惠卷、红包奖励、分享裂变等机制来促成用户使用产品 。 而B端或Saas类的0-1上线的产品 , 则具备更多的商品属性 , 其宣传与推广方式则与销售行为有着更多绑定 。
6)迭代优化
通过迭代优化 , 促进产品商业化目标逐步实现 , 并持续增长 。
一般互联网产品通过MVP验证业务可行性 , 并打下产品与用户的初步基础后 , 会通过持续迭代来进行产品优化 , 进一步满足用户需求 , 一步步实现用户增长、商业化变现的产品闭环 。
该部分一般通过持续的需求收集 , Roadmap设计 , 并结合增长策略与商业化策略等 , 一步步促进产品实现商业化目标与持续的增长 。
以上内容是常见的软件产品开发流程 。
三、什么是硬件产品
硬件产品是指以物理形式存在的电子或机械设备 , 通常由芯片、电路、机械结构、传感器等组成 , 能够执行特定任务 , 实现特定功能或者提供某种服务 。硬件产品可以是独立的设备(如手机、平板、智能手表) , 也可以是系统的一部分(如服务器、灵巧手、伺服电机等) 。 其对比软件产品存在的特点为:实体化、研发周期长、BOM(物料)成本、迭代周期长、智能化依赖软件支持等 。
3.1 硬件产品的类型硬件产品可以按照如下类型进行划分:
1)按消费群体划分
- 消费级:服务于普通用户 , 一般用于满足用户生活、出行、娱乐等需求 。 如智能手机、无人机、平板、智能穿戴等设备均属于该类型 。
- 企业级:服务于企业/机构/组织的硬件产品 , 一般用于满足企业生产力或业务需求 。 如ATM及、工业机器人、AGV、服务器等均属于该范畴 。
- 医疗/军工等特定场景:用于满足特定机构/组织的特殊应用场景的硬件产品 , 如MRI设备、军用无人机、卫星、雷达系统等 。
- 计算设备:提供数据处理与计算能力的硬件设备 , 如芯片、服务器等 。
- 通信设备:提供网络通讯能力的硬件设备 , 如网关、路由器、5G基站、蓝牙等 。
- 智能硬件:提供AI+联网功能的硬件产品 , 如智能家居、智能汽车等 。
- 可穿戴设备:随身佩戴的硬件设备 , 如眼镜、手表/手环、耳机等 。
- 传统硬件:纯机械/电子功能 , 如风扇、空调、传统汽车等 。
- 简单硬件:功能单一、无智能性的硬件设备 , 如U盘 , 普通耳机、鼠标等 。
- 智能硬件:含芯片+软件控制 , 如智能门锁、无人机、机器人等 。
- IOT设备:能够实现联网+云端交互的设备 , 如智能储能系统、智能空调等设备 。
3.2 智能硬件产品的构成一个完整的硬件产品通常包括电子部分、机械结构、嵌入式软件、能源系统等部分组成 。 而一些复杂或集成度更高的硬件产品 , 通常又由多个独立的产品/功能模块组成 。
- 电子部分:通常由主控芯片(MCU、CPU、GPU)、电路板(PCB)、传感器等部件组成 , 常负责硬件产品中涉及数据存储与处理、数据采集、以及部分独立功能的承载 。
- 机械结构:包括外壳/框架 , 与传动装置 , 用于保护关键元器件 , 或提供用于满足产品需求的机械运动功能 。
- 嵌入式软件:包括固件(直接控制硬件的底层代码)和操作程序(满足复杂设备所需的功能需求) 。
- 能源系统:满足硬件产品的能源提供 , 包括电源、电池、电气电路以及能耗优化系统等 。
比如一款轮式机器人产品 , 包含了摄像头、雷达、超声波、伺服电机、机械臂、电池系统、HMI显示屏、运动系统(底盘、车轮等)、中控系统等 。 同时也会包含满足特定业务需求的模块 , 如清洁设备、搬运设备、安防设备等 。
再比如一款智能储能产品 , 包含电池系统(电池Pack、动力传输)、配电系统(汇流、交流、变压等单元)、BMS系统(采集、通信、监测、控制等)、EMS系统(交互、策略、指令、分析等)、消防系统(水消防、排风消防、气溶胶、全氟己酮等)、热管理系统(风机、空调、液冷机组、管路等) 。
较为复杂的硬件产品由各类的功能模块构成 , 用于满足不同业务场景的功能需求 , 基于业务的不同而表现出不同的形态与构成 。
3.3 硬件产品的开发过程一款硬件产品的开发过程 , 在流程环节上某些部分与软件产品类似 , 但在各个具体的执行环节会体现出较大的差异 。
一般软件产品的开发流程会参考IPD开发流程 , 并与企业经营管理模式进行适配 , 一般会分为概念阶段-需求阶段-设计开发阶段-样机验证阶段-试产阶段-量产阶段-上市阶段等 。
- 概念阶段:通过市场调研、竞品分析、用户分析等 , 确定产品定位、目标用户、差异化优势、核心功能、成本目标等 。
- 需求阶段:通过需求分析 , 细化定位产品的核心参数与功能、认证要求(3C、IEC、GB、UL等) , 用于指导后续的设计开发工作 。
- 设计开发阶段:该阶段包括产品的ID(工业设计)、MD(结构设计)、用户体验设计、电气设计、电子(PCB)设计、工程与测试验证方案设计、BOM设计、供应链成本优化等 。
- 样机验证阶段:购置组装样机所需部件 , 完成样机装配 , 并通过工程装配与测试验证产品功能与设计合理性 , 优化设计与供应链管理方案 。 并于该阶段 , 输出工艺工程相关文件资料 , 如SOP、流程图等 , 用于后续试产 。
- 试产阶段:该阶段用于验证工艺工程方案 , 并关注产品良率 , 产品工时等指标 。
- 量产阶段:该阶段核心目标为提升产品良率与产品工时等 。
- 上市阶段:一般硬件产品上市会召开产品发布会 , 结合市场与销售活动进行营销与推广 , 同时会在该阶段确定产品定价、售后策略与质量保证等 。
四、软件产品与硬件产品的区别软件产品与硬件产品的区别主要包括产品形态与组成结构、商业化模式、开发与运营等相关业务活动、成本结构以及迭代维护等 。
1)产品形态与组成结构
软件产品由代码和数据构成 , 其组成结构包括前端、后端、数据与算法等 。 依赖于硬件设施(服务器、手机、电脑、其他设备)作为载体实现产品运行 。
而硬件产品具备物理实体 , 其基础结构通常包含芯片、电路板、机械结构、能源系统等 。 大部分硬件产品也会也依赖于软件进行控制和功能实现 。
2)商业化模式
软件产品的商业化模式更加多元 , 一方面可通过软件作为服务载体 , 实现抽成、金融、增值、广告、商城等商业化变现 。 另一方面也可以作为商品(如Saas、数字产品等)进行销售 。
而硬件产品的商业化模式相对单一 , 通常以产品差价的形式获取利润 , 部分产品也具备一些金融属性(固定资产、设备投资等) 。
而硬件产品也可以通过软件赋能 , 实现多元化盈利 , 如各种物联网生态链(充电桩运营、智能家居、智能出行等)以及绑定硬件的互联网服务(如电视会员、游戏等) 。
3)开发与运营等相关业务活动
软件产品开发一般通过原型设计、UI/交互设计、前后端代码开发、测试验证等环节实现 。
软件产品运营一般多为线上化运营 , 更多关注数据指标如用户活跃度(DAU)、增长、留存、转化率等部分 。
硬件产品开发一般经过参数/功能定义、结构设计、电子设计、电气设计、嵌入式程序开发、样机验证、试产、量产等环节来实现 。
硬件产品运营一般与企业物料采购、生产、销售、质量、售后等活动关联度较高 , 更加关注产品的销量、良率、成本等指标 。
4)成本结构
软件产品的成本一般多为用人成本 , 而硬件产品的成本结构则由BOM成本、生产制造、物流运输、售后、销售等成本构成 , 相对更加复杂 。
5)迭代维护
基于产品形态与开发过程的差异 , 软件产品的迭代相对周期更短 , 频率更高 , 可以通过敏捷开发 , 多次迭代的方式 , 逐步实现产品目标 。 而产品的维护也可以通过软件程序的升级来实现 。
而硬件产品则因其开发周期更长 , 投入成本更多 , 故不适应软件产品的快速迭代与维护方式 , 一般会经过较长周期的规划、开发、验证后投入市场 。 而硬件产品的维护成本也更高 , 一般会提供响应的售后服务 , 如器件替换、维修或召回等 。
本文由 @Edward 原创发布于人人都是产品经理 。 未经作者许可 , 禁止转载
题图来自Unsplash , 基于CC0协议
【软件产品与硬件产品的区别,一个IOT与智能硬件从业者的思考】该文观点仅代表作者本人 , 人人都是产品经理平台仅提供信息存储空间服务
推荐阅读
- 算法与算法之外:内容推荐系统如何运行?
- 华为Mate XT2三折叠顺利入网:搭载卫星通信与纯血鸿蒙
- 暑假出行的得力助手!华为Mate X5重塑移动办公与旅行体验
- 博通押注 “扩展以太网”,叫板NVLink与UALink
- 黄仁勋到访雷军!北京35℃高温下的皮夹克与西装
- OMEN暗影精灵11锐龙版:学习与创作的性能新搭档
- 华硕a豆与法国娇兰唯美“香”约,星芒绽放、共续美学生命力
- 马斯克推出30美元包月的AI伴侣服务,千亿赛道创新与争议并存
- KDE Plasma 6.4.3 发布:重要修复与优化汇总 \uD83C\uDF89
- 激擎光电陈龙:投影品类成长与衰退 唯有颠覆性创新才能开辟未来
