软件心学格物致知篇(5)愿望清单上篇

news2024/11/26 2:34:57

愿望清单

前言

最近发现愿望清单是一个很有意思的词,结合自己的一些过往经验得到一点点启发。

我发现在众多领域都有东西想伪装成它。

比如一些企业的企业战略,比如客户提出的一些软件需求,比如一些系统的架构设计指标,比如一些家长给孩子制订的学习目标…

愿望清单之企业战略

我们先看一个真实的产品战略:某纸制品制造公司,制订了如下的战略:

产品战略有两个维度,一个维度是搞价格竞争还是品质竞争,另一个维度是面向广泛市场还是专注于细分市场。虽然公司各种类型的纸制品都能生产,但降低成本比较困难,所以选择在广泛市场上搞品质竞争。

运营策略一般有持续改进和创新、扩大产能、提高供应链效率、外包、以及及时推出新产品。公司对生产环节没有什么控制力,所以主要采用改进设计作为运营策略。
最后要达成的战略目标是产生9%的资产回报率,每年至少10%的销售增长。

请问上述公司战略有什么问题?

在这里插入图片描述
如果你不是一个战略专家,你可能很难发现问题。如果你是一个战略专家,你可能根本不把上面的战略称之为战略,可能称之为愿望清单更为合适。

上面的企业战略犯了两个常见的战略错误。

第一个错误就是对照着一个现有的框架来选择战略,且不说框架的权威性与正确性。做战略不是在现有选项里选择一个最好的,而是根据自身实际情况创造出来的。很多框架只是别人的经验,只能作为启发,不能作为选项。

第二个错误就是毫无实现途径的目标。每年销售额增长10%并不是路线图,怎么实现销售额增长才是战略的一部分。到底是争取更多的客户,还是提升现有客户的购买力,还是双管齐下呢?

所以做战略不能生搬硬套,不能先定一个目标,然后从一本攻略大全里做选择。这样得到的只能是愿望清单。

战略必须是从自身出发,找到关键难点,搞清楚主要矛盾,再结合自身的特点,利用优势杠杆,创造出一个解法。

愿望清单之客户需求

在软件开发中,我经常会在一些项目中看到伪装成用户需求的愿望清单,先欣赏下下面的场景:

酒店人员:系统需要新增一个酒店平面图的功能
需求人员:好的,请把纸质的酒店平面图给我参考下
-----------------转交研发-------------------
需求人员:这是酒店的平面图,需要在系统里增加这个功能,客户急着这周就要
研发人员:一周时间有点紧啊,那只能做个用HTML元素搭建的示意图了
-------------------转交客户------------------
酒店人员:这是什么图?又不支持放大、缩小、平移。字还那么小,怎么看呢?
-----------------转交研发--------------------
需求人员:用户要求地图可以放大、缩小、平移,还有字体要放大
研发人员:好的(加上两个按钮放大、缩小,修改对应样式就可以了)
-------------------转交客户------------------
酒店前台:.......(什么也没说直接打电话给领导了) 领导,你看他们新上线的功能,那个平面图做成啥样子了!他们就是这么应付我们的吗?
客户领导:什么!我马上打电话给他们领导
.....未完待续.......

在这里插入图片描述
以上场景就是典型的把用户的愿望清单当做了真实需求进行系统研发的故事,需求人员到最后也没弄清楚用户的实际需求到底是什么(故事的后续有专业人员介入后才弄清楚平面图功能只是用户为了解决某问题而提出的解决方案,其实要解决用户问题,有更好的解决方案。

真实项目中有多少项目组基于寥寥几页的用户需求描述来进行项目估算并着手软件开发的?据我多年的观察可以说很多公司和项目都存在该现象。

这种所谓的用户需求其本质就是用户的愿望清单,既然这些内容并不是用户的真实需求,那么随着时间更迭会不可避免的发生改变。所以不要怪用户的需求多变,其实用户需求一直没变,变得是愿望清单。

如果真想弄清楚用户的真实需求,你必须要学会一些需求分析的技能,掌握一些需求分析的模型,从而还原出用户的真实需求,并进一步的进行补充。否则你将会在用户的愿望清单上越走越远。

小结

愿望清单远不止伪装成企业战略、客户需求,还会伪装成架构设计目标、学习目标等。我会在下篇中进行阐述,并尝试剖析其本质,希望对你有所启发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1561347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s练习-创建一个Deployment

创建Deployment 创建一个nginx deployment [rootk8s-master home]# cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:selector:matchLabels:app: nginx # 配置pod的labelsreplicas: 2 # 声明2个副本template:metada…

2024.3.26 ARM

SPI相关理论 概述 SPI,是Serial Peripheral interface的缩写,是串行外围设备接口,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为P…

数字孪生|山海鲸数据管家简介及安装步骤

哈喽,大家好啊,我是雷工! 最近在学习数字孪生相关的软件山海鲸,了解到采集Modbus协议需要先安装山海鲸数据管家,本节先学习数据管家及安装步骤,以下为学习笔记: 1、简介 数据管家是帮用户进行数据管理与转发的软件,能够解决山海鲸可视化等软件对数据接入过程中的许多…

实体机双系统安装

实体机双系统安装 第一步:下载openKylin镜像 前往官网下载x86_64的镜像(https://www.openkylin.top/downloads/628-cn.html) tips:下载完镜像文件后,请先检查文件MD5值是否和官网上的一致,如果不一致请重…

【python基础教程】2. 算法的基本要素与特性

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:python基础教程 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、…

Java中常见的锁策略

目录 乐观锁 vs 悲观锁 悲观锁: 乐观锁: 重量级锁 vs 轻量级锁 ⾃旋锁(Spin Lock) 公平锁 vs 非公平锁 可重⼊锁 vs 不可重入锁 读写锁 乐观锁 vs 悲观锁 悲观锁: 总是假设最坏的情况,每次去拿数据的时候都认为别…

蓝桥杯第1593题——二进制问题

题目描述 小蓝最近在学习二进制。他想知道 1 到 N 中有多少个数满足其二进制表示中恰好有 K 个 1。你能帮助他吗? 输入描述 输入一行包含两个整数 N 和 K。 输出描述 输出一个整数表示答案。 输入输出样例 示例 输入 7 2输出 3评测用例规模与约定 对于 30% …

YOLOv9改进策略 :主干优化 | 极简的神经网络VanillaBlock 实现涨点 |华为诺亚 VanillaNet

💡💡💡本文改进内容: VanillaNet,是一种设计优雅的神经网络架构, 通过避免高深度、shortcuts和自注意力等复杂操作,VanillaNet 简洁明了但功能强大。 💡💡💡引入VanillaBlock GFLOPs从原始的238.9降低至 165.0 ,保持轻量级的同时在多个数据集验证能够高效涨点…

跑spark的yarn模式时RM连不上的情况

在linux控制台跑spark on yarn一个测试案例,日志中总显示RM连yarn服务的时候是:0.0.0.0:8032 具体情况如下图: 我问题出现的原因,总结如下: 1.防火墙没关闭,关闭 2.spark-env.sh这个文件的YARN_CONF_DIR…

NRF52832修改OTA升级时的bootloader蓝牙MAC

NRF52832在OTA升级时,修改了APP的蓝牙MAC会导致无法升级,原因是OTA程序的蓝牙MAC没有被修改所以手机扫描蓝牙时无法连接 解决办法 在bootloader的程序里面加入修改蓝牙mac地址的代码实现原理: 在bootloader蓝牙广播开启之前修改蓝牙mac 通…

Java 处理Mysql获取树形的数据

Mysql数据&#xff1a; 代码如下&#xff1a; Entity&#xff1a; Data Accessors(chain true) public class Region {private BigInteger id;//名称private String name;//父idprivate BigInteger parentId;private List<Region> children;private Integer createTim…

基于SSM+Jsp+Mysql的固定资产管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

linux系统中启动MyCat问题总结

最近在深入学习mysql的底层原理和应用&#xff0c;今天在学习分库分表操作的时候&#xff0c;由于一些配置问题&#xff0c;导致无法正常启动MyCat。最终通过GPT和其他博客将问题解决了&#xff0c;以下是一篇关于MyCat启动异常的解决方案。 1.思路&#xff1a; 配置问题其实…

python练习二

# Demo85def pai_xu(ls_test):#创建一个列表排序函数命名为pai_xu# 对创建的函数进行注释"""这是一个关于列表正序/倒序排列的函数:param ls_test: 需要排序的列表:return:"""ls1 [int(ls_test[i]) for i in range(len(ls_test))]#对input输入的…

求组合数I(acwing)

题目描述&#xff1a; 给定n组询问&#xff0c;每组询问给定两个整数a&#xff0c;b&#xff0c;请你输出Ca^b mod(1e97)的值。 输入格式: 第一行包含整数n。 接下来n行&#xff0c;每行包含一组a和b。 输出格式: 共n行&#xff0c;每行输出一个询问的解。 …

C++刷题篇——05静态扫描

一、题目 二、解题思路 注意&#xff1a;注意理解题目&#xff0c;缓存的前提是先扫描一次 1、使用两个map&#xff0c;两个map的key相同&#xff0c;map1&#xff1a;key为文件标识&#xff0c;value为文件出现的次数&#xff1b;map2&#xff1a;key为文件标识&#xff0c;va…

Navicat设置mysql权限

新建用户&#xff1a; 注意&#xff1a;如果不生效执行刷新命令:FLUSH PRIVILEGES; 执行后再重新打开查看&#xff1b; 查询权限命令&#xff1a;1234为新建的用户名&#xff0c;localhost为访问的地址 SHOW GRANTS FOR 1234localhost;如果服务器设置服务器权限后可能会出现权…

【Docker】搭建安全可控的自定义通知推送服务 - Bark

【Docker】搭建安全可控的自定义通知推送服务 - Bark 前言 本教程基于绿联的NAS设备DX4600 Pro的docker功能进行搭建。 简介 Bark是一款为Apple设备用户设计的开源推送服务应用&#xff0c;它允许开发者、程序员以及一般用户将信息快速推送到他们自己的iPhone、iPad等设备上…

副业赚钱攻略:给工资低的你6个实用建议,闷声致富不是梦

经常有朋友向我咨询&#xff0c;哪些副业比较靠谱且能赚钱。实际上&#xff0c;对于大多数打工族而言&#xff0c;副业不仅是增加收入的途径&#xff0c;更是利用业余时间提升自我、实现价值的重要方式。 鉴于此&#xff0c;今天我想和大家分享六个值得尝试的副业&#xff0c;…

linux:生产者消费者模型

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言一、生产者消费者模型二、基于阻塞队列的生产者消费者模型代码实现 总结 前言 本文是对于生产者消费者模型的知识总结 一、生产者消费者模型 生产者消费者模型就是…