百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

产品架构:如何将复杂系统进行场景化架构设计?

wxin55 2024-11-06 12:49 10 浏览 0 评论

产品架构总给人一种讳莫如深的感觉,既感觉“高大上”,又好像让人无从下手。今天咱们就来聊一聊,希望对你有所启发。

前文围绕【抽象能力:SaaS产品经理的核心能力】这个主题,已完成需求分析以及功能设计两个方向的应用以及案例拆解,今天咱们继续分享抽象能力在产品架构上的应用。

一、什么是产品架构?

产品架构,类似于建筑的设计蓝图,是产品的基础和核心。它需要具备坚实的基础、清晰的功能划分和用户友好的界面设计,以满足用户需求并提升用户体验。

在产品架构中,基础架构是产品的核心,需要能够支撑产品的功能需求并提供稳定性。功能划分是为了满足用户的需求,需要合理地组织产品的功能模块,并提供直观的用户体验。界面设计是为了给用户带来愉悦的使用体验,需要考虑产品的视觉效果和用户界面设计。

本文将重点关注产品自身的架构,包括实体架构设计和菜单架构设计。实体架构设计类似于建筑中的动线设计,而菜单架构设计则类似于楼层布局与房间定位的设计。

为了更深入地探讨这些内容,预计分为两篇文章进行分享。第一篇文章将讨论【产品架构:如何将复杂系统进行场景化架构设计(即本文)】,第二篇文章将讨论【实体架构:如何将复杂系统进行抽象架构设计(即下一篇)】。

二、产品架构:如何将复杂系统进行场景化架构设计?

产品是需求集合的解决方案,如果离开需求本身,产品就成了无本之木。对于SaaS产品而言,业务本身就是需求集合,所以SaaS产品架构的起点是业务。

模糊的商机是业务方向,清晰的商机是业务定位。比如数字化就是HR SaaS的业务方向,而业人一体化就是业务定位。所以SaaS产品架构设计,我们可拆解为以下几个步骤:

  • 第一步:确定业务定位和角色:明确产品方向和目标用户
  • 第二步:提炼角色关键场景:深入分析用户在不同情境下的需求
  • 第三步:绘制业务流程和服务:聚焦用户行为,设计核心业务流程
  • 第四步:构建场景化产品架构:根据用户场景,抽象产品结构
  • 第五步:设计场景化菜单:基于产品架构,设计场景化菜单

以HR SaaS产品为例。

第一步:确定业务定位和角色:明确产品方向和目标用户

HR SaaS产品的核心在于满足企业各类人力资源需求,服务于包括人力资源、招聘、考勤、薪酬、绩效和培训等关键角色,涵盖员工管理、招聘流程、考勤管理、薪酬发放、绩效评估和人才培养等关键职能。

HR SaaS产品的业务定位是实现业人一体化,即集成人员管理、招聘、考勤、薪酬、绩效和培训等功能,以满足HR角色的多样化需求。然而,这种一体化并非最终目的,而是实现企业增长和持续发展的手段。因此,HR SaaS产品的业务定位应超越单纯的一体化服务,更注重以服务创造用户价值,促进企业长远发展。

聚焦“业人一体化”的定位,对应的业务方向是数字化,进一步拆解为:线上化->数据化->自动化->智能化->服务化,它们分别对应不同产品阶段。

  • 线上化:产品初期,将角色流程场景从线下转移至线上;
  • 数据化:产品成长期,基于线上化,深化数据应用;
  • 自动化:产品成长期,基于线上化,实现流程自动化以提高效率;
  • 智能化:产品成熟期,不再只满足角色基础需求,而是探索用户“看不见、看不懂”的深度隐藏需求;
  • 服务化:产品后期,以业务和客户为中心,提供综合服务,实现从产品到服务的转变。明确“所有的事都是一件事”的理念,封装、升级、打包、落实所有的东西,都聚焦到服务之上。它可能是一个系统,一个文档,一个视频,一个插件,一个数据分析报告,一项智能服务等,一切围绕业务和客户本身展开,完成从做系统到做服务的转变。

我们用图进行表达,可能会更清晰。

第二步:提炼角色关键场景:深入分析用户在不同情境下的需求

SaaS产品的核心在于服务关键角色的关键场景。HR SaaS产品关键在于HR和决策者这两大角色。以HR SaaS考勤系统为例,应优先关注这两大角色的需求。

SaaS产品的核心在于服务关键角色的关键场景。

以HR SaaS考勤系统为例,涉及四类角色:HR(即考勤HR)、决策者(即CEO/HRD等)、一线管理者(即部门负责人/店长/班组长等)、员工,而其中关键角色是HR以及决策者。前者属于核心用户,后者属于核心客户,所以,我们可重点聚焦这两个角色。

第三步:绘制业务流程和服务:聚焦用户行为,设计核心业务流程

用户体验地图关注的是从用户的角度出发,详细描绘用户在使用产品或服务过程中的每一个步骤和感受。它强调的是用户的实际体验,包括他们的需求、感受和行为。通过用户体验地图,企业可以更深入地理解用户,发现他们在使用产品或服务时可能遇到的问题,并据此进行优化。

而业务流程和服务则是从企业的角度出发,关注的是企业如何高效、有效地提供产品或服务。它抽象出了用户的关键流程,将用户的实际体验转化为企业可以操作和优化的流程。通过优化业务流程和服务,企业可以提高效率,降低成本,提升用户满意度。

总的来说,用户体验地图和业务流程服务是相辅相成的。用户体验地图帮助企业理解用户,业务流程服务则帮助企业根据用户的需求和体验来优化自己的产品和服务。

第四步:构建场景化产品架构:根据用户场景,抽象产品结构

在构建HR SaaS考勤系统的产品架构图时,需要经历前三步的基础分析,然后将这些分析内容整合为最终的产品架构。这个架构图不仅是设计的蓝图,也是确保产品能够满足不同角色需求的关键。

一般我会采取分端+分层的混合模式进行绘制。

  • 分端:根据服务的角色将产品拆分为不同的端。比如HR SaaS考勤系统可分管理端、员工端。管理端主要服务于HR和决策者,提供考勤管理、数据分析等功能;员工端则面向普通员工,提供打卡、查看考勤记录等功能
  • 分层:根据服务所处的位置,将产品内容拆分为不同的层级。比如HR SaaS考勤系统中,可以包括应用层、规则层、计算层和数据层。应用层是用户直接交互的界面;规则层定义了考勤的规则和逻辑;计算层负责处理考勤数据的计算;数据层则是呈现所有考勤数据的地方。

小贴士:产品架构图不仅展示产品全局结构,还能辅助规划。通过在全局架构图上使用不同颜色的框来标注优先级和迭代进度,就像在电子地图上点亮路径一样,直观展现产品开发的进程和计划。

第五步:设计场景化菜单:基于产品架构,设计场景化菜单

产品架构图是基础和框架,最终在产品上体现为菜单设计。菜单设计的核心在于场景化,即根据用户的使用场景来设计菜单,以提供直观、便捷的用户体验。

比如考勤HR希望自定义加班规则以适应不同员工,并能方便查看员工加班详情和统计,以解决加班疑问和核算成本。相应地,需要设计一个【加班管理】模块,提供考勤HR全流程的加班服务,包括加班规则配置(申请、限制、补偿等)、加班记录和统计功能。

同理,考勤HR希望自定义假期规则以适应不同员工,并能方便查看员工各类请假详情和余额等,以解决员工对假期的相关疑问。则也需要设计一个【假期管理】模块,提供考勤HR全流程的假期服务,包含假期模版、假期规则、请假假期、假期余额管理等功能。

经验分享

1、遵循从右往左的思考模式进行产品架构设计。即先思考目的与目标,再考虑怎么做以及做什么;先思考需求,再思考解决方案;先思考业务定位,再思考产品架构;

2、遵循【以始为终,全面设计;以终为始,最小闭环】的设计原则。B端产品设计采用微积分模式,意味着在初始设计阶段可以进行全面规划和思考。然而,在实施阶段,应遵循最小闭环原则进行迭代,以确保产品的持续优化和适应性;

3、站在用户视角看待问题。产品架构设计,无论多么先进,都应服务于用户需求。设计时必须站在用户角度,运用可视化工具(如用户体验地图)来呈现,以确保解决方案紧贴用户实际需求;

4、产品的场景化设计优于功能模块化设计。从用户场景出发设计产品架构,比仅从功能模块分层设计更优。比如,在加班场景中,考勤HR设置加班规则、查看加班记录、核算加班成本都是不同场景。可以选择通过加班管理模块全面支持这些场景,或者将加班规则设置作为功能模块,与打卡、补贴、出差等规则放在一起,而加班记录和数据处理则单独支持。

5、产品不同阶段,关注的关键角色应有所不同。产品早期侧重基础角色(如HR),而产品后期则侧重决策者。

6、重视表达目的而非形式。初期,你可能会过分关注产品架构图的规范性,担心不够标准而显得不专业。实际上,架构图的关键在于能否清晰传达信息,不必过度纠结于形式。

三、总结一下

本文主要是以HR SaaS产品为例,拆解了产品架构设计的流程。即:

  • 第一步:确定业务定位和角色:明确产品方向和目标用户
  • 第二步:提炼角色关键场景:深入分析用户在不同情境下的需求
  • 第三步:绘制业务流程和服务:聚焦用户行为,设计核心业务流程
  • 第四步:构建场景化产品架构:根据用户场景,抽象产品结构
  • 第五步:设计场景化菜单:基于产品架构,设计场景化菜单

同时,分享了六条经验。

5、产品不同阶段,关注的关键角色应有所不同。

6、重视表达目的而非形式。

专栏作家

邢小作,微信公众号:邢小作之家,人人都是产品经理专栏作家。一枚在线教育的产品,关注互联网教育,喜欢研究用户心理。

本文原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

相关推荐

Java框架 —— Spring简介

简介一般来说,Spring指的是SpringFramework,它提供了很多功能,例如:控制反转(IOC)、依赖注入(DI)、切面编程(AOP)、事务管理(TX)主要jar包org.sprin...

Monkey自动化测试

Monkey1.通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常;2.Monkey主要用于Android的压力...

十年之重修SpringBoot启动&自动装载&Bean加载过程

总结Springboot的自动装载,完全是依赖Bean的自动注册,其中默认的规则,是把需要自动装载的bean全名称编辑在spring.factories(2.7之后的版本,还支持.imports文件)...

一些可以显著提高大型 Java 项目启动速度的尝试

我们线上的业务jar包基本上普遍比较庞大,动不动一个jar包上百M,启动时间在分钟级,拖慢了我们在故障时快速扩容的响应。于是做了一些分析,看看Java程序启动慢到底慢在哪里,如何去优化,...

class 增量发包改造为 jar 包方式发布

大纲class增量发包介绍项目目录结构介绍jar包方式发布落地方案class增量发包介绍当前项目的迭代修复都是通过class增量包来发版本的将改动的代码class增量打包,如下图cla...

Flink架构及其工作原理(很详细)

原文链接:https://www.cnblogs.com/code2one/p/10123112.html关键词:Flink架构、面试杀手锏!更多大数据架构、实战经验,欢迎关注【大数据与机器学习】,...

大促系统优化之应用启动速度优化实践

作者:京东零售宋维飞一、前言本文记录了在大促前针对SpringBoot应用启动速度过慢而采取的优化方案,主要介绍了如何定位启动速度慢的阻塞点,以及如何解决这些问题。希望可以帮助大家了解如何定位该类问...

Maven工程如何使用非Maven仓库jar包

使用Maven之前,一直都是自己手工在网上搜索需要的jar包,然后添加到工程中。以这样的方式开发,工作了好多年,曾经以为以后也会一直这样下去。直到碰上Maven,用了第一次,就抛弃老方法了。Maven...

【推荐】一款开源免费、功能强大的短链接生成平台

项目介绍reduce是一款开源免费、功能强大的短链接生成平台。部署在服务器,使用短域名解析即可提供服务。CoodyFramework首秀,自写IOC、MVC、ORM、TASK、JSON、DB连接池、...

K8S官方java客户端之七:patch操作

欢迎访问我的GitHubhttps://github.com/zq2599/blog_demos内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;...

Java 的业务逻辑验证框架 之-fluent-validator

开发人员在维护核心业务逻辑的同时,还需要为输入做严格的校验。当输入不合法时,能够给caller一个明确的反馈,最常见的反馈就是返回封装了result的对象或者抛出exception。一些常见...

互联网大厂后端必看!手把手教你替换 Spring Boot 中的日志框架

在互联网大厂的后端开发工作中,SpringBoot框架是搭建项目的“得力助手”,使用十分普遍。但不少开发者都遇到过这样的困扰:SpringBoot默认集成的Logback日志框架,在实际...

测试经理教你如何用monkey进行压力测试!

一、monkey是什么1、monkey程序由android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar2、Mo...

Java-Maven详解

一、什么是Maven?ApacheMaven是一个软件项目管理的综合工具。基于项目对象模型(POM)的概念,提供了帮助管理构建、文档、报告、依赖、发布等方法,Maven简化和标准化项目建设过程。处理...

SpringBoot打包部署最佳实践

springboot介绍SpringBoot目前流行的javaweb应用开发框架,相比传统的spring开发,springboot极大简化了配置,并且遵守约定优于配置的原则即使0配置也能正常运...

取消回复欢迎 发表评论: