软件产品与硬件产品的区别,一个IOT与智能硬件从业者的思考
软件产品与硬件产品已成为推动科技发展的两大核心力量。然而,尽管两者在许多领域相互融合、相互促进,但它们在产品形态、开发流程、商业模式以及市场表现等方面仍存在显著差异。本文将从一个物联网与智能硬件从业者的视角出发,深入探讨软件产品与硬件产品的本质区别。
互联网、智能硬件以及科技企业会开发各种产品,其中包括各类软件产品与硬件产品,那么这两种产品有什么区别呢?
本文笔者将通过探讨这两类产品的共性、各自的属性、以及在一些特定领域,这两类产品的差异去进行区分。
编写该文章目的有三:
产品:能够为企业或组织带来商业化价值,满足用户需求的商品或服务。
“产品”这一名词的定义中,包含几个关键词,即“商业化价值”、“满足用户需求”、“商品或服务”,分别对应了产品的目的、方法和表现形式。
产品的目的,一定是围绕着商业化价值展开的。商业化价值又可以区分为直接与间接价值,进而区分通过售卖带来直接现金流的产品,以及通过业务支持,实现赋能和增长价值的产品。
产品的方法,是通过满足用户需求来实现产品成功。如何满足用户需求,就需要搞清楚“用户是谁”“需求或痛点是什么”“使用场景是什么”这几个问题。这便是产品思维中的“用户”、“需求”、“场景”三大要素。
产品的表现形式,是商品或者服务。商品又可分为实体和虚拟两类,通常通过差价盈利。而服务则会由于用户的不同需求有更多细分的表现。这部分既是产品的表现形式,同时又指向产品的盈利模式(销售、广告、增值、抽成、授权、金融等)。
而本文中所要探讨的“软件”与“硬件”产品,属于产品表现形式的子集,此类定义方式一般在互联网行业比较少见(互联网常通过业务类型来定义产品类型),常见于智能硬件行业。
软件产品即通过代码开发、通讯技术等实现功能,以计算机、HMI、手机等终端作为载体,提供人机交互(或集成在硬件中的程序),以解决特定问题,满足用户需求的产品。
软件产品的类型很多,通常可以按照如下类型进行划分:
1)按用户群体区分
2)按操作终端区分
3)按业务属性区分
4)按应用场景区分
按应用场景区分,可将软件产品分为系统软件、应用软件、中间件、嵌入式软件。
5)按部署方式区分
软件产品还可以按照更多类型进行区分,以上是常见的类型。
一个完整的软件产品,通常由前端、后端、数据与算法、基础设施等部分组成。
1)前端
指用户直接交互的软件界面部分,泛指应用软件、网站中用户看得见、摸得着的所有视觉和交互层。它的核心目标是将数据与服务以直观、高效的方式呈现给用户,同时确保良好的用户体验。
应用软件中前端开发常通过采用HTML、CSS、JavaScript等技术实现。
2)后端
后端是支撑软件系统运行的核心逻辑层,负责处理数据存储、业务逻辑、安全认证等用户看不到的“幕后”工作。它确保用户的请求得到正确的处理,并返回所需的结果。
技术栈一般通过编程语言(如Java、Python、Go等)、框架(Spring Boot、Django等)、数据库(PostgreSQL、MySQL、Redis等)、服务器(Nginx、Apache等)、云服务(AWS、云服务等)组成。
3)数据与算法
属于上述“后端”定义的子集,作为抽离出的独立模块,主要作用是管理数据资产并通过算法提取价值。
一般用来满足数据存储、大数据分析、以及各种通过各种算法提供智能化的功能支持。
4)基础设施
基础设施是支撑软件运行的底层硬件设施与软件环境,提供计算、网络、存储等基础资源,确保程序能够稳定、高效、安全地运行。
其核心组成部分包括:
常见软件产品的开发一般会经历如下流程:
产品定义-产品设计(原型图、功能逻辑、接口参数等)-UI设计-软件开发-功能测试-产品上线-迭代优化等。
1)产品定义:
解决“为什么做”与“做什么”的问题。
产品定义一般是基于企业或组织战略与阶段目标(商业化、增长、降本增效、业务支撑等),定义一款用于实现该目标的软件产品或功能模块。相关工作内容包括市场调研、用户调研、用户画像、需求分析等,通过以上内容确定用户、需求、场景等产品关键信息。
2、产品规划
解决“怎么做”与“怎么迭代”的问题
产品规划一般包括需求分析、优先级确定,MVP(最小可行性方案)设计、Roadmap(迭代路径)设计、风险与应对策略制定、产品开发规划(团队资源、技术资源、开发周期等)、需求验证方案(关键指标等)制定、等工作,确定产品如何落地,如何实现需求验证与业务闭环。
3)产品设计用来确定产品的详细方案。
软件产品设计一般基于规划版本内要满足的需求,进行功能设计。具体工作其中包括业务流程设计、功能流程设计、产品结构设计、功能结构设计、数据结构设计、功能与接口定义、界面原型设计、交互与用户体验设计、以及展示界面UI设计等工作。
当然也不代表所有工作都需要产品经理亲自上手,通常企业会配备架构师(或技术责任人角色)以及UI设计师、用户体验设计、交互设计师等岗位,共同完成该部分的工作。
一般产品设计方案通过PRD实现,需求与方案也会经过多轮评审或者通过Demo与用户开展一些可用性测试,来确保产品方案的可行性。
4)产品开发
通过产品开发,使产品能够落地。
一般软件产品开发过程包括后端开发、前端开发、前后端联调、功能与单元模块测试、系统集成测试、产品验收、UI验收等流程。当然如果涉及数据分析或者算法等功能,还会涉及数据功能开发与算法功能开发等(该部分功能一般属于独立模块,通过后端服务调用来实现)。
产品开发过程可以通过一些项目管理工具来管控整个产品开发的时间节点,保证开发工作能够按照上线目标时间完成。产品开发完成后,一般由运维工程师负责产品的部署。
5)产品上线与推广
通过产品上线推广,促成用户使用。
产品上线一般通过发布会、产品内部公告、广告等宣传方式将产品上线信息传递给用户,促成目标用户使用产品。一般软件产品迭代,会通过产品内部公告、更新日志等形式完成产品上线信息的传达。
0-1开发的产品,在C端领域一般会通过一些运营或营销手段,比如地推、优惠卷、红包奖励、分享裂变等机制来促成用户使用产品。而B端或Saas类的0-1上线的产品,则具备更多的商品属性,其宣传与推广方式则与销售行为有着更多绑定。
6)迭代优化
通过迭代优化,促进产品商业化目标逐步实现,并持续增长。
一般互联网产品通过MVP验证业务可行性,并打下产品与用户的初步基础后,会通过持续迭代来进行产品优化,进一步满足用户需求,一步步实现用户增长、商业化变现的产品闭环。
该部分一般通过持续的需求收集,Roadmap设计,并结合增长策略与商业化策略等,一步步促进产品实现商业化目标与持续的增长。
以上内容是常见的软件产品开发流程。
硬件产品是指以物理形式存在的电子或机械设备,通常由芯片、电路、机械结构、传感器等组成,能够执行特定任务,实现特定功能或者提供某种服务。
硬件产品可以是独立的设备(如手机、平板、智能手表),也可以是系统的一部分(如服务器、灵巧手、伺服电机等)。其对比软件产品存在的特点为:实体化、研发周期长、BOM(物料)成本、迭代周期长、智能化依赖软件支持等。
硬件产品可以按照如下类型进行划分:
1)按消费群体划分
2)按功能形态划分
3)按技术/集成复杂度划分
一个完整的硬件产品通常包括电子部分、机械结构、嵌入式软件、能源系统等部分组成。而一些复杂或集成度更高的硬件产品,通常又由多个独立的产品/功能模块组成。
一些智能硬件产品结构更为复杂,会集成很多功能模块。
比如一款轮式机器人产品,包含了摄像头、雷达、超声波、伺服电机、机械臂、电池系统、HMI显示屏、运动系统(底盘、车轮等)、中控系统等。同时也会包含满足特定业务需求的模块,如清洁设备、搬运设备、安防设备等。
再比如一款智能储能产品,包含电池系统(电池Pack、动力传输)、配电系统(汇流、交流、变压等单元)、BMS系统(采集、通信、监测、控制等)、EMS系统(交互、策略、指令、分析等)、消防系统(水消防、排风消防、气溶胶、全氟己酮等)、热管理系统(风机、空调、液冷机组、管路等)。
较为复杂的硬件产品由各类的功能模块构成,用于满足不同业务场景的功能需求,基于业务的不同而表现出不同的形态与构成。
一款硬件产品的开发过程,在流程环节上某些部分与软件产品类似,但在各个具体的执行环节会体现出较大的差异。
一般软件产品的开发流程会参考IPD开发流程,并与企业经营管理模式进行适配,一般会分为概念阶段-需求阶段-设计开发阶段-样机验证阶段-试产阶段-量产阶段-上市阶段等。
软件产品与硬件产品的区别主要包括产品形态与组成结构、商业化模式、开发与运营等相关业务活动、成本结构以及迭代维护等。
1)产品形态与组成结构
软件产品由代码和数据构成,其组成结构包括前端、后端、数据与算法等。依赖于硬件设施(服务器、手机、电脑、其他设备)作为载体实现产品运行。
而硬件产品具备物理实体,其基础结构通常包含芯片、电路板、机械结构、能源系统等。大部分硬件产品也会也依赖于软件进行控制和功能实现。
2)商业化模式
软件产品的商业化模式更加多元,一方面可通过软件作为服务载体,实现抽成、金融、增值、广告、商城等商业化变现。另一方面也可以作为商品(如Saas、数字产品等)进行销售。
而硬件产品的商业化模式相对单一,通常以产品差价的形式获取利润,部分产品也具备一些金融属性(固定资产、设备投资等)。
而硬件产品也可以通过软件赋能,实现多元化盈利,如各种物联网生态链(充电桩运营、智能家居、智能出行等)以及绑定硬件的互联网服务(如电视会员、游戏等)。
3)开发与运营等相关业务活动
软件产品开发一般通过原型设计、UI/交互设计、前后端代码开发、测试验证等环节实现。
软件产品运营一般多为线上化运营,更多关注数据指标如用户活跃度(DAU)、增长、留存、转化率等部分。
硬件产品开发一般经过参数/功能定义、结构设计、电子设计、电气设计、嵌入式程序开发、样机验证、试产、量产等环节来实现。
硬件产品运营一般与企业物料采购、生产、销售、质量、售后等活动关联度较高,更加关注产品的销量、良率、成本等指标。
4)成本结构
软件产品的成本一般多为用人成本,而硬件产品的成本结构则由BOM成本、生产制造、物流运输、售后、销售等成本构成,相对更加复杂。
5)迭代维护
基于产品形态与开发过程的差异,软件产品的迭代相对周期更短,频率更高,可以通过敏捷开发,多次迭代的方式,逐步实现产品目标。而产品的维护也可以通过软件程序的升级来实现。
而硬件产品则因其开发周期更长,投入成本更多,故不适应软件产品的快速迭代与维护方式,一般会经过较长周期的规划、开发、验证后投入市场。而硬件产品的维护成本也更高,一般会提供响应的售后服务,如器件替换、维修或召回等。
本文由 @Edward 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务