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

愿望清单

前言

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

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

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

愿望清单之企业战略

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

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

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

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

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

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

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

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

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

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

愿望清单之客户需求

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

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

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

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

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

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

小结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言动态内存讲解+通讯录2.0

文章目录 前文malloc和freecallocrealloc枚举常量的简单说明及使用 通讯录2.0动态开辟通讯录,满了就扩容保存数据和载入数据 通讯录2.0演示推荐好用的软件 前文 本文主要介绍动态开辟的几个函数,以及改进之前的通讯录。 我们局部变量等是在栈区上开辟空间的,而我们动态开辟的空…

Learning Discriminative Representations for Skeleton Based Action Recognition

标题:基于骨架的动作识别的学习判别性表示 原文链接:Learning Discriminative Representations for Skeleton Based Action Recognition (thecvf.com) 源码链接:https://github.com/zhysora/FR-Head 发表:CVPR 摘要 最近&…

【论文复现|智能算法改进】动态透镜成像学习人工兔优化算法及应用

目录 1.算法原理2.改进点3.结果展示4.参考文献 1.算法原理 【智能算法】人工兔优化算法(ARO)原理及实现 2.改进点 非线性递减能量因子: A ( t ) ( A max ⁡ − A min ⁡ ) ( 1 − sin ⁡ ( ( t T ) n π 2 ) (1) \begin{aligned}A\left…

李宏毅深度强化学习导论——当奖励是稀疏的

引言 这是李宏毅强化学习的笔记,主要介绍如何处理稀疏奖励问题。 稀疏奖励 当我们拿Actor和环境互动后可以得到很多奖励,整理之后可以得到分数 A A A,然后可以训练Actor。 但RL中有时会出现多数情况下奖励为零,此时我们不知道动…

Verilog基础【二】

3.1 Verilog 连续赋值 关键词:assign, 全加器 连续赋值语句是 Verilog 数据流建模的基本语句,用于对 wire 型变量进行赋值。: assign LHS_target RHS_expression ;LHS(left hand side)…

卷积层+多个输入通道

卷积层多输入输出通道 在深度学习中,卷积神经网络(CNN)通常用于处理具有多个输入通道的数据。当输入数据具有多个通道(例如彩色图像的RGB通道)时,卷积操作可以同时在每个通道上进行,并将各通道的…

软件测试-进阶篇

目录 测试的分类1 按测试对象划分1.1 界面测试1.2 可靠性测试1.3 容错性测试1.4 文档测试1.5 兼容性测试1.6 易用性测试1.7 安装卸载测试1.8 安装测试1.9 性能测试1.10 内存泄漏测试 2 按是否查看代码划分2.1 黑盒测试(Black-box Testing)2.2 白盒测试&a…

新闻管理系统(源码+文档)

新闻管理系统(小程序、ios、安卓都可部署) 文件包含内容程序简要说明含有功能项目截图客户端新闻详情新闻首页分类退出登录个人中心拨打客服热线注册界面个人资料新闻评论成功 管理端用户管理分类管理新闻管理 文件包含内容 1、搭建视频 2、流程图 3、开…

windows下部署llama.cpp

下载cmake 下载地址 解压,设置Path环境变量D:\CMake\bin 打开cmd输入cmake -version 安装mingw powershell下执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser iex "& {$(irm get.scoop.sh)} -RunAsAdmin" scoop bucket add extras s…

Android获取本地文件目录

一、实现效果 一个简单的demo。点击按钮&#xff0c;获取本地文件目录&#xff0c;可以选择图片&#xff0c;展示选取的对应图片和展示存储路径。如图所示&#xff1a; 二、实现方式 1. 权限 AndroidManifest.xml文件里面添加权限 <uses-permission android:name"a…

【御控物联】JavaScript JSON结构转换(12):对象To数组——键值互换属性重组

文章目录 一、JSON结构转换是什么&#xff1f;二、核心构件之转换映射三、案例之《JSON对象 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换…

牛客2024年愚人节比赛(A-K)

比赛链接 毕竟是娱乐场&#xff0c;放平心态打吧。。。 只有A一个考了数学期望&#xff0c;其他的基本都是acmer特有的脑筋急转弯&#xff0c;看个乐呵即可。 A 我是欧皇&#xff0c;赚到盆满钵满&#xff01; 思路&#xff1a; 我们有 p 1 p_1 p1​ 的概率直接拿到一件实…

Oracle Solaris 11.3开工失败问题处理记录

1、故障现像 起初是我这有套RAC有点问题&#xff0c;我想重启1个节点&#xff0c;结果发现重启后该节点的IP能PING通&#xff0c;但SSH连不上去&#xff0c;对应的RAC服务也没有自动启动。 操作系统是solaris 11.3。由于该IP对应的主机是LDOM&#xff0c;于是我去主域上telnet…

html基础:颜色的 5 种表示方法(最全!)

你好&#xff0c;我是云桃桃。一个希望帮助更多朋友快速入门 WEB 前端的程序媛&#xff0c;大专生&#xff0c;2年时间从1800到月入过万&#xff0c;工作5年买房。 分享成长心得。 HTML 颜色在网页设计中扮演着重要角色&#xff0c;给网页增加颜色可以增强用户体验&#xff0c;…

MySQL看这一篇就够了

目录 MySQL安装&#xff08;Linux&#xff09; 1、仓库安装 2、本地安装 3、容器安装 MySQL体系结构 连接层 SQL层 存储引擎层 MySQL存储引擎的介绍 常用存储引擎的特性比对 InnoDB的逻辑存储结构 系统文件层 MySQL库表操作 库操作 表操作 创建表 查看表 删除…

snmp服务

双击 安装snmputil和MIB Browser getSwitchStatus.cpp&#xff1a; #include <iostream> #include <stdio.h> #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h>using namespace std;int main() {init_snmp("getS…

算法学习——LeetCode力扣补充篇3(143. 重排链表、141. 环形链表、205. 同构字符串、1002. 查找共用字符、925. 长按键入)

算法学习——LeetCode力扣补充篇3 143. 重排链表 143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 描述 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → …

给三分钟热度学习Python的同学的一条建议

最近公司来了一个实习生妹子&#xff0c;在读商科硕士&#xff0c;平时我会让她做做数据清洗的工作&#xff0c;她工作倒是贼认真&#xff0c;但对计算机属于一窍不通&#xff0c;不会写SQL&#xff0c;Ecxel也很菜&#xff0c;对于很简单的取数往往会花很多的时间。 她向我倒…

halcon图像腐蚀

1、原理 使用结构元素在图像上移动&#xff0c;只有结构元素上的所有像素点都属于图像中时&#xff0c;才保留结构元素中心点所在的像素&#xff0c;常用于分离连接的两个物体、消除噪声。 2、halcon代码 dev_open_file_dialog (read_image, default, default, Selection) r…

<Linux> Linux环境开发工具

一、Linux软件包管理器 - yum 什么是软件包&#xff1a; 在Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 . 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一…