华山不再论剑
来源:互联网 发布:兴趣部落发帖软件 编辑:程序博客网 时间:2024/06/10 01:40
在商业软件开发中,胜出的往往不是最好的技术和算法,而是最能够满足客户需求的技术和算法。 ---- 题记
古有华山论剑,最早出自于金庸老先生的武侠小说《射雕英雄传》,各大武功门派好手聚集华山,一绝高下,争锋天下第一。
1. 新需求
上周因为工作需要,我临时加入一个小组协助他们的工作,这个小组的人技术很强。客户需求是这样的,因为控件本身的性能原因,所以要在UI上面加一个单选框,选中即“显示全部”,否则“显示最新的100条”。当天下午提出新需求,并且需要当天提交软件新版本包。
2. 需求分析
这次客户的新需求的主要矛盾是因为控件对于大容量显示会出现性能瓶颈,所以希望通过“部分显示”解决这个问题。由于这是紧急任务,所以我认为主要解决客户说的主要矛盾,然后会有些细节问题,在客户没有明确说明怎么解决的情况下,由于时间关系,我们应该放在其次的地位上尽量简单的解决。这样不管是对项目本身,可以降低不必要的风险,对客户,可以在规定时间内拿到新版本包。
可是在这项目组中,原来的两位技术比较好的同事就开始华山论剑。首先两位先对什么是“最新的”进行用了一番切磋讨论,是系统中最小的单元最新,还是用户最后的一次行为最新?其中技术最强的那位同事抛出理论“要做一次性就做到最好”,随后开始针对这个需求开始加了些历史记录回滚等附加属性,这些技术方案确实很够先进,而且“在特定概率出现的事件”情况下户体验也得到改进。但是我想到的是,这是商业不是作业,在有限成本下做到最好本身就是一个lose-lose的行为:
对公司来说,客户给了一个做小凳子的钱,我们却给做了一个沙发;
对员工来说,需要额外的工作量去满足本不存在的客户需求,加班会让身心俱疲,尽管良好的技术会提升个人的成就感;
对客户来说,如果项目不能按期交付,而是推迟交付了一个使用频率不大的许多附加功能并不能使客户额外“附加”满意。
所以最后其中一位成员提出来的简单行为,我们两个人当时表示同意。我们实现了客户最需要的功能改进“部分显示”,而且符合效用理论的摒弃了客户在90%的情况下不会经历到,我们需要额外花费很多时间去完成的附加功能点。
3. 代码执行
因为设计的行为简单了,于是我们如期在规定的10:00PM提前3分钟的时候提交了新版本包,完成了所有的改进的开发和测试工作。事实证明,到目前为止,客户还没有对那10%不Perfect的情况产生任何质疑,团队也再没有在这上面有任何的返工。那么我们想到,如果当时做了技术最佳的解决方案,客户他知道吗?他在10%的情况下能感受到吗?他会因为在那时候我们花费很大努力稍微改善的那点用户体验谢谢我们吗?
整个的协助工作做下来,觉得最浪费时间的还是当初的华山论剑。因为技术人员都有脾气,都试图去证明自己的想法是最好的,所以有两个这样的人谁也不服谁的时候,时间的浪费就产生了。他们聚焦于最优化的技术解决方案,而往往忽略了客户其实最想要的不是最好的,而是能够解决他问题的方案。不是说最优化的方案不好,而是要除了技术本身以外,多从项目本身或者商业本身的原因去想想。技术人员当然不可能想这么多,也正是因为这点,项目中的管理人员,决策者不可或缺。
真希望有那么一天,华山不再论剑。少林寺的走进社区教老头老太强身健体,峨眉山派的作为女子防身咨询公司解决了大量单身女性的防骚扰问题。。。。。那样的话,比在华山上比个天下第一有用得多。
- 华山不再论剑
- 决战华山之巅 《傲剑2》特色论剑前瞻
- FPGA论剑
- 月下华山
- 雨中登天华山
- 华山游记
- 串口通讯技术论剑
- PMO京城论剑
- 初出茅庐,华资论剑
- FPGA论剑(续)
- 不再
- 驳某君之华山游记
- 华山论贱
- 青华山游记
- 天华山山水秀
- 华山之行 - I
- 华山之行 - II
- 华山之行 - III
- asp.net 页面之间的传值方式
- 孤独与寂寞
- [转]C++头文件包含顺序问题
- InitializeComponent()
- FileUpload控件上传图片并保存在文件夹中
- 华山不再论剑
- 真的是最后期限吗?
- DataGridView Datasource Datatable
- palm pre的putty端口的来源
- 数据抽象----类(c++)
- 迷茫
- PYQT4 + Python2.6 + eric4-4.2.2a的安装全过程
- DataGridView和DataGrid
- 决定