管理感悟:软件的特性

 

 

栁鯤鵬

2017-12-18

 

关键字:管理 软件 特性

简介:本文尝试讨论软件的特性。

 

目录

硬件与软件的差异... 2

产品的三个阶段... 2

研发期... 2

产品成熟期... 2

维护升级期... 2

怎样正确认识用户需求... 3

用户需求三原则... 3

用户不知道什么... 3

关于用户需求的错误观念... 3

产品决定需求... 3

怎么看待软件产品... 4

产品的观念... 4

更换软件的可能性... 4

功能与执行... 4

签字了不一定执行... 4

不签字的也能紧急加入... 5

各方及时通报情况... 5

如何有效避免... 5

软件与加班... 5

不懂技术怎么管理... 6

两个关键... 6

如何安排研发... 6

项目与工期... 6

分阶段推进,及时互动... 6

 

 

  

  

硬件与软件的差异

 

硬件

软件

半成品出门

不能

有问题

退货

完善

经常维护升级

退货

受欢迎

功能无法按时完成

只能延期

屏蔽功能,按计划出

生产

有成本

完全无成本

开展市场

容易

困难

丢失市场

容易

困难

  

  

产品的三个阶段

研发期

  技术原型阶段。

  演示阶段。完善、测试的循环,直到能对外演示,紧急情况下可以卖给用户凑合使用。到了这里,才可以暂停。

  产品阶段。完善、测试的循环,直到能凑合用。注意,这里的产品,能满足基本使用,无严重问题。

  

  

产品成熟期

  不存在

  

  

维护升级期

意见、讨论、修改、升级的循环。

  

  

怎样正确认识用户需求

用户需求三原则

  1. 产品性能更好。
  2. 产品价格更便宜。
  3. 产品让自己更省事。

  

  

用户不知道什么

  1. 不知道技术细节。
  2. 不知道产品细节。
  3. 不知道功能细节。

  

  

关于用户需求的错误观念

  1. 以为用户知道自己想要什么东西,东西的各种细节。
  2. 把用户言论当作圣旨,不会分析是否合理、真实意图。
  3. 以为用户看了东西,能一次性把问题说全(所有问题,每个问题细节)。
  4. 以为用户的想法一成不变,发生了变化就恼羞成怒。
  5. 动辄打着用户的名义。
  6. 迷信文档。等着用户列出详细文档;以为有了文档,什么都清楚确定了。

  

  

产品决定需求

  1. 开发产品,真实原因在于,我们认为用户想要什么,而不是用户告诉我们。这是因为用户需求三原则在指导我们。
  2. 需求实际上是由产品确定的。没有产品时信口开河,有了产品实际上是被产品引导、限制。

  归根结底,先让对方使用产品。之后关于需求的主动权就转移到软件方。

  这听起来很不可思议,实际上想想,软件维护升级是谁决定的?用户反映的问题,要不要解决、哪个版本解决,都是软件方决定的。

  

  

怎么看待软件产品

产品的观念

  大多数人是没有产品观念的,问题的关键在于,都以为自己有产品观念。

  产品有什么问题,视而不见,就是典型的例子。有产品观念的人,看产品处处是问题;无此观念的人,一旦没告知,就不知道要干什么。

  作为一个普通员工,有没有关系不大。作为一个决策者,必须具有产品观念。

  

  产品在我心中:

  产品大体上什么样子,具备哪些功能。

  什么条件下能将就出门。

  产品有什么问题,下一步要做什么。

  

  

更换软件的可能性

  对于个人很容易?也不好说。一旦用一段时间,就会形成信赖。

  对于大集团用户:

  1. 求稳。
  2. 换人不换衣,表面上看起来要差不多。普通用户感觉不到变化。

  所以对于大集团,除非万不得已,不会更换。也就是说,大集团用户一旦拿下,只要不犯大错误,市场就是稳定的。

  

  

功能与执行

  一般来讲,签字(签订合同)了就必须严格执行。

  而在软件业,延迟是很常见的事情。于是问题就产生了。

  

签字了不一定执行

  签字了是不是就一定要执行?

  不一定。根据时间、技术难度、临时情况等等,可以只做一部分就算完成。

  

  

不签字的也能紧急加入

  不签字的功能,是不是就一定不能加?

  不一定。要看具体情况。

  

  

各方及时通报情况

  首先,即使软件经常延期,导致功能完成不了,我们工作中依然要想方设法的保证进度、功能。而不是心安理得的延期。

  对方提出新功能,如果涉及到新的技术,一定不能明确答应。一定要等技术原型出来之后,再做答复。也许一个很小的功能,要耗费大量的人力时间。

比如哪个功能无法按时完成,要及时通报,看看如何补救。

  同样的,新的功能要求紧急加入,也是越早越好。

  

  

如何有效避免

  对于新功能,都不要当场答复。因为有可能涉及到新的技术或方案。一定要等技术原型出来之后,才能给予答复。

  如何有效的安排研发工作。

  如何有效的管理研发工作。

  

  

软件与加班

  做软件,没有不加班赶工的情形。

  如果不是长期,那也是呈现波浪形的加班周期。

  如果没有加班,那说明了领导层存在严重失误。

  

  为什么软件要加班?

  功能的变化性。

  软件的复杂性。发现的BUG最好解决,麻烦的是偶现,而且是很难复现的那种。不过大多数程序员发现的都解决不完。为什么呢?

  能力的不足。虽然技术人员觉得自己很厉害,实际上并不是这样。而天才级别是请不到的,所以必须加班赶工。

  

  

不懂技术怎么管理

两个关键

  首先,一定不要被技术吓住,也不要被需求、文档、方案吓住。这些东西跟领导无关。

  其次,一定要抓住重点工作,重点项目、重点功能。

  

  

如何安排研发

  在软件行业,目标无法按时完成,实际上是常态。延期了如何不影响商务?

  工作安排上,要采取“先重后轻”的原则:

  1. 前期做关键的工作,即重点、难点。
  2. 把关键人力(技术能手)投入到关键的工作。特别是要避免杂事分散其精力。
  3. 前期工作要多安排,突击赶工。

  

  

项目与工期

以项目为条理,采取项目负责制。

  要求研发列出详细的功能点列表及计划。当然这个是参考,不可能是全部。

  研发、测试、试用、完善要同步进行。注意是并行,不是串行。

  严格控制工期。一旦超出计划,立即着手缩减功能。

  

  

分阶段推进,及时互动

  每次前进一步,及时与买方互动。

  尽可能每次会谈都有进展。