我是一名只会CURD的后端搬运工,在我的思维里面,只有业务规则,业务流程,以及原型图,UI,开发框架等。
如何深入的了解软件项目中的业务,一直是心中的疑问,在一次分享讨论技术的会议中,带着内心的疑问,向一位拥有丰富经验的老师请教,他的回答,引发了思考。
一,理解软件中的生意
1.来源于林老师,程序员认知心得书籍中的原文
林老师公众号:TechLead 少个分号
博客地址:https://shaogefenhao.com/
-
软件直接或者间隔与钱有关
-
商业软件的逻辑是什么,是技术卓越吗?是代码整洁吗?是设计优美吗?其实都不是,商业软件的前缀是商业,也就意味着赚钱
-
老板为了赚钱,会思考商业模式,思考赚钱的逻辑,进而找到一些人帮他干活,一起赚钱,这是业务架构
-
对于老板和业务人员来说,软件也只是手段,不是目的,对于产品经理和开发人员来说这就是目的,工程师理解软件背后的商业目标,就可以理解业务的工作模式,那么也就可以对产品经理提出的需求进行补充,质疑和评审,有时候当产品经理设计不合理时,可以更换一种更简单的交互方式
2. 引发的思考
1. 思维的局限
我们的思维,经常会想到业务规则,业务流程,原型图,UI,开发框架,模型设计等,这本事就是我们开发人员的职责,也是最关心的事情,很少会去想,为什么要这样做,目的是什么,这样做的逻辑是什么,能达到预期的效果吗?
比如做一款商业软件,在不同的视角,认知和考虑有所不同,比如有教育局花钱请公司做一个教育培训的平台
-
教育局的视角
- 如何在有限的成本下,满足自己管辖的范围内的教师,完成混合式培训,获得证书
- 适应各种政策,快速响应新的需求,保障信息,数据,安全等
- 有亮点,有故事,有政绩
-
销售视角
- 怎样拿下这个项目,获取销售提成
- 签订合同,交互给项目经理,进行落地
-
项目经理
- 在有限的人员和资源下,在有限的时间内完成项目的交付
- 协调,推动,项目开发
-
产品经理
- 如何收集需求,了解需求,了解需求的目的和痛点
- 如何设计原型,流程,制定迭代的计划等
- 如何与开发人员沟通需求
-
开发人员
- 如何根据需求,来设计模型,编码
- 技术选型,框架选择
不同的视角,有不同的认知和考虑,要慢慢的练习,换位思考,让思维更"宽"一点!
山下的风景,可能不尽人意
半山的风景,可能平平无奇
上顶的风景,可能惊艳动人
2. 软件直接或者间隔与钱有关
-
商业软件
- 软件本身就可以卖钱,有自己的商业模式,利用商业模式赚钱
- 理解商业模式很重要,不紧可以提升自己的思维,更能提升对业务的理解,为开发,设计,决策提供价值判断
-
B端业务系统软件
-
降本增效,降低成本,提升效率,也可以为老板省钱
-
降低成本这个词语,经常听到,但是很少思考,降低的成本到底是什么,怎么降低的,降低成本是原本的目的
还是有另外的目的,效率是怎么提高的,
-
业务在线化,规范化,数字化,标准化,规模化,帮助业务人员提升协作,沟通的成本?
-
降低的成本是开除人员的成本,还是减少了资源的浪费?
-
以降低成本的目的,更换新鲜的血液?
-
引进先进的设备,技术,人员等来提升效率,提升了多少?
-
-
-
-
支撑类型的软件
人情事故类的服务支持,没有费用,但是可以辅助获得其他的利益
有朋友在公司上班,他接手的项目,几个都是公司人情世故的项目,虽然他不产生直接的收益,也有一定的价值,当多个公司竞争的时候,老板优势相同时,有这样的关系维护,可能会更有优势,他们公司裁员时,想着瞌睡都要笑醒,大概率会领取大礼包时,他们公司选择裁掉他的领导,也没有裁掉他,这就很有意思了
二,老师您作为咨询师是这样去了解业务的
-
了解真实的痛点,从痛点出发,作为切入点,帮助解决痛点
-
了解老板真实的目的
在我之前的认知当中,我们做软件开发,就是根据需求,把软件做出来,听了老师的回答,思路扩宽了不少,也感觉很有意思
- 做软件不一定是老板的真实目的,比如公司想要裁员,自己不好直接推动,利用做软件的契机,进行"降本增效"
- 部门之间冲突比较大,老板需要进行改革,利于软件开发的由头,来清理障碍
三,"赚钱"的业务是什么
-
我也迷惑业务到底是什么,问Deepseek业务是什么
- 业务是企业或组织为实现经营目标而开展的核心活动,其本质是通过提供产品或服务满足市场需求并获取利润
-
可能是一种产品,可能是一种服务,可能是资源,也可能是信息等,业务可能是多种形态的,为客户提供价值,是
公司核心的竞争力,也可能是公司生存的依托
-
有些业务,在明面上可能不赚钱,甚至需要亏损投入,但它可能是服务于核心业务不可或缺的支撑
1. 为什么了解公司是如何赚钱的
- 定位核心的业务模块,有利于资源的投入和决策,为开发过程中的价值判断,提供有利的支撑
- 为业务人员沟通,以及需求整理的时候,提供价值参考
- 与不同的业务人员沟通,站在不同的视角,可能都是一些地方很重要,帮助划分优先级
- 找不到核心,往往意味着返工和浪费大家的热情,还容易被说不专业
- 核心的模块,往往是客户最重视,最愿意投入的模块,在开发的过程中,需要额外的重视,可能关乎项目的,进度与成败
- 为业务人员沟通,以及需求整理的时候,提供价值参考
- 了解公司是怎样赚钱的,不同公司都有自己的商业模式,有利于开拓自己的思维
- 更容易理解客户的业务需求和目标,让客户愿意进行更多的沟通
- 在设计和开发阶段,已更方便,更简洁的方式实现用户需求
- 显示出我们的"专业",客户也会更信任我们
2. 如何找到公司赚钱的业务
- 直观的方式就是看财务数据
- 从公司运行的流程和组织结构中分析
- 公司最重视的业务模块,钱和资源投入最集中的地方
- 公司核心的竞争力,独特的优势,重点打造和重视的产品
- 访谈目标对象,从访谈中了解