管理感悟:软件的特性
栁鯤鵬
2017-12-18
关键字:管理 软件 特性
简介:本文尝试讨论软件的特性。
目录
硬件与软件的差异
|
硬件 |
软件 |
半成品出门 |
不能 |
能 |
有问题 |
退货 |
完善 |
经常维护升级 |
退货 |
受欢迎 |
功能无法按时完成 |
只能延期 |
屏蔽功能,按计划出 |
生产 |
有成本 |
完全无成本 |
开展市场 |
容易 |
困难 |
丢失市场 |
容易 |
困难 |
产品的三个阶段
研发期
技术原型阶段。
演示阶段。完善、测试的循环,直到能对外演示,紧急情况下可以卖给用户凑合使用。到了这里,才可以暂停。
产品阶段。完善、测试的循环,直到能凑合用。注意,这里的产品,能满足基本使用,无严重问题。
产品成熟期
不存在
维护升级期
意见、讨论、修改、升级的循环。
怎样正确认识用户需求
用户需求三原则
- 产品性能更好。
- 产品价格更便宜。
- 产品让自己更省事。
用户不知道什么
- 不知道技术细节。
- 不知道产品细节。
- 不知道功能细节。
关于用户需求的错误观念
- 以为用户知道自己想要什么东西,东西的各种细节。
- 把用户言论当作圣旨,不会分析是否合理、真实意图。
- 以为用户看了东西,能一次性把问题说全(所有问题,每个问题细节)。
- 以为用户的想法一成不变,发生了变化就恼羞成怒。
- 动辄打着用户的名义。
- 迷信文档。等着用户列出详细文档;以为有了文档,什么都清楚确定了。
产品决定需求
- 开发产品,真实原因在于,我们认为用户想要什么,而不是用户告诉我们。这是因为用户需求三原则在指导我们。
- 需求实际上是由产品确定的。没有产品时信口开河,有了产品实际上是被产品引导、限制。
归根结底,先让对方使用产品。之后关于需求的主动权就转移到软件方。
这听起来很不可思议,实际上想想,软件维护升级是谁决定的?用户反映的问题,要不要解决、哪个版本解决,都是软件方决定的。
怎么看待软件产品
产品的观念
大多数人是没有产品观念的,问题的关键在于,都以为自己有产品观念。
产品有什么问题,视而不见,就是典型的例子。有产品观念的人,看产品处处是问题;无此观念的人,一旦没告知,就不知道要干什么。
作为一个普通员工,有没有关系不大。作为一个决策者,必须具有产品观念。
产品在我心中:
产品大体上什么样子,具备哪些功能。
什么条件下能将就出门。
产品有什么问题,下一步要做什么。
更换软件的可能性
对于个人很容易?也不好说。一旦用一段时间,就会形成信赖。
对于大集团用户:
- 求稳。
- 换人不换衣,表面上看起来要差不多。普通用户感觉不到变化。
所以对于大集团,除非万不得已,不会更换。也就是说,大集团用户一旦拿下,只要不犯大错误,市场就是稳定的。
功能与执行
一般来讲,签字(签订合同)了就必须严格执行。
而在软件业,延迟是很常见的事情。于是问题就产生了。
签字了不一定执行
签字了是不是就一定要执行?
不一定。根据时间、技术难度、临时情况等等,可以只做一部分就算完成。
不签字的也能紧急加入
不签字的功能,是不是就一定不能加?
不一定。要看具体情况。
各方及时通报情况
首先,即使软件经常延期,导致功能完成不了,我们工作中依然要想方设法的保证进度、功能。而不是心安理得的延期。
对方提出新功能,如果涉及到新的技术,一定不能明确答应。一定要等技术原型出来之后,再做答复。也许一个很小的功能,要耗费大量的人力时间。
比如哪个功能无法按时完成,要及时通报,看看如何补救。
同样的,新的功能要求紧急加入,也是越早越好。
如何有效避免
对于新功能,都不要当场答复。因为有可能涉及到新的技术或方案。一定要等技术原型出来之后,才能给予答复。
如何有效的安排研发工作。
如何有效的管理研发工作。
软件与加班
做软件,没有不加班赶工的情形。
如果不是长期,那也是呈现波浪形的加班周期。
如果没有加班,那说明了领导层存在严重失误。
为什么软件要加班?
功能的变化性。
软件的复杂性。发现的BUG最好解决,麻烦的是偶现,而且是很难复现的那种。不过大多数程序员发现的都解决不完。为什么呢?
能力的不足。虽然技术人员觉得自己很厉害,实际上并不是这样。而天才级别是请不到的,所以必须加班赶工。
不懂技术怎么管理
两个关键
首先,一定不要被技术吓住,也不要被需求、文档、方案吓住。这些东西跟领导无关。
其次,一定要抓住重点工作,重点项目、重点功能。
如何安排研发
在软件行业,目标无法按时完成,实际上是常态。延期了如何不影响商务?
工作安排上,要采取“先重后轻”的原则:
- 前期做关键的工作,即重点、难点。
- 把关键人力(技术能手)投入到关键的工作。特别是要避免杂事分散其精力。
- 前期工作要多安排,突击赶工。
项目与工期
以项目为条理,采取项目负责制。
要求研发列出详细的功能点列表及计划。当然这个是参考,不可能是全部。
研发、测试、试用、完善要同步进行。注意是并行,不是串行。
严格控制工期。一旦超出计划,立即着手缩减功能。
分阶段推进,及时互动
每次前进一步,及时与买方互动。
尽可能每次会谈都有进展。