美文网首页程序员自我修养
所有对未来的承诺都是谎言,我们要把自己撒的谎兑现

所有对未来的承诺都是谎言,我们要把自己撒的谎兑现

作者: heyikan | 来源:发表于2019-06-19 20:11 被阅读0次

    最近在看一本书,这本书主要是讲关于软件项目管理的。书里讲到一句话,大致是说我们对完成时间的承诺是种谎言。

    比如说,我们承诺在2个月之内完成功能的实现,这就是一个谎言。即使使用的技术是我们非常熟悉的技术,要做的功能也有非常成熟的套路,时间充裕,各方面的保障都很给力,我们十分肯定能按时完成任务。

    但是我们的承诺也仅仅是个承诺,不是板上钉钉的事情。

    事实是现在已经发生的事情,承诺是未来会发生的事情,在承诺和事实之间,充满了风险。我们所做的努力,就是不停的穿过一个个风险,不停的离目标更近一步。但是除非承诺变成了事实,否则永远不会改变其本质。

    未来充满了变数,有些变数只有在发生之后,我们才能意识到它们的存在。

    如此说来,不仅仅是软件工程,我们所有对未来的承诺也都是谎言。

    有些人会承诺做一个好丈夫,有些人会承诺做一个好妻子,有些人会承诺做一对好父母,有些人会承诺在几年之内把公司做到多大的市值,有些人会承诺忙过这一段时间之后给自己放个长假......

    有的人兑现了,有的人没有;有些兑现了,有些没有。

    谎言本身并没有意义,有意义的是把谎言兑现的过程。

    一方面,我们可以信誓旦旦的对别人说,“你放心吧,这个事情没问题的”,一方面我们要自己心里清楚,它是有风险的。我们要思索怎么样看见风险,进一步去控制风险、规避风险,确保我们的每一步都在前进的道路上,并且风险没有比以往变得更大。

    如果我们一直保持这种节奏,直到谎言兑现,那么我们可以松一口气,就像安全的通过了一次冒险。

    如果我们自己心里也觉得“没有问题”,失去了警惕性,那么到来的事实可能并非我们预想的那样。

    那么怎么样才能看见风险呢?

    把大风险,切割成小风险是一个不错的思路。

    我们不要秣马厉兵很长时间之后,跟完整的风险来一次终极对决,谁也无法保证这样的风险其强大程度在我们的能力范围之内。实际上,我们必须预估把谎言兑现的难度,也就是风险的强度,来评估我们要做到怎样的地步。

    我们无法在一开始的时候就对风险有相对准确的预估,就像两军对战,我们无法一开始就准确预估一支从未交手过的敌军的战斗力。

    把大风险切割成小风险,是持续找机会和风险进行小范围的交锋,以此来不断调整自己对风险的预估值,进而调整自己的节奏和计划。直至我们对风险的各方面都已经掌握的全面而充分,才能在风险之中穿梭,达到彼岸。

    举个例子,比如我从家里出发到火车站大概要1个半小时,这中间需要先步行到地铁站,再坐大概40分钟的地铁到火车站,然后10分钟的时间用来取票、排队进站。

    所以,我应该定什么时间的闹钟呢?

    我评估自己从起床到洗漱完毕,准备出门大概要20分钟。从出门到地铁站大概要20分钟,再加上坐地铁的40分钟,排队的10分钟,刚好要1个半小时。

    但是车票上的时间是发车时间,我不能以发车时间点来制订这个计划,事实上在发车前5分钟之内,车站就停止检票了,那么为了有充分的时间,我需要再加10分钟。

    如果人比较多的话,取票、排队的时间长度也可能会超过之前预估的10分钟,我会为这个阶段再加10分钟。也就是预估20分钟的取票、排队进站时间。

    所以,实际的情况是,我需要提前1小时50分钟起床,在1小时30分钟前洗簌完毕并出门,在1小时10分钟之前赶到地铁站,在30分钟之前赶到火车站,在10分钟之前站到检票窗口队伍里。

    这一整个过程就是一个大的风险,而每一个阶段就是一个小的风险。

    如果我能在1小时50分钟之前起床,那么我会觉得风险可控;如果后面每一个阶段都是按时间计划完成,风险就一直是可控的。

    如果我无法在1小时30分钟之前出门,那么我要以更快的速度赶去地铁站,如果我比预定的时间晚了20分钟出门,那么我会放弃坐地铁,直接打的去火车站。

    在头一天晚上就把所有的东西找到,并整理好,因为这个过程的风险是无法评估的。如果放到第二天早上,我可能临近出门了,却死活找不到身份证。

    在软件领域中,我们也会遇到本质相同的问题。

    通常情况下我们在项目周期的最后阶段验证产品功能。比如,产品负责人整理了15个功能,开发周期为2个月,2个月之后,产品对这15个功能进行验证。

    如果是这样,可能临近两个月结束,团队才能发现一个结论:2个月的开发时间是不够的。

    之所以发现的比较晚,是因为没有人持续的跟进项目的进度,即:根据当前的功能实现速度去评估未来的风险,在必要的时候作出调整。

    那么谁去做这样的事情呢?让项目经理去做这个事情。

    但是前提条件是项目经理本身不能陷入具体的开发工作中,否则他就失去了对整个进度的专注。

    具体来说,如果要在2个月之内开发15个功能,即平均一周开发2个功能。这样切分之后,团队在每一周都可以评估当前的进度是否符合预期,进一步评估整个进度的风险是否在可控范围之内。

    如果2个月的时间绝对是不够的,那么我们也可以及早发现这个结论,及早作出调整。

    至于怎么让项目经理保持足够的精力和时间?在即将失控的时候,又怎么作出调整?这些都是值得思考的问题,但是要留给大家自己思考了,本文的重点是提醒大家认识到风险的存在,以及提醒大家需要有监控和应对风险的方案。

    在另一个层面,这里也想给一些自认为平庸的人,老实的人,迷茫的人一些建议。也包括我。

    我们没有信心做成一件事情,所以不敢轻易的许诺。没有目标,就没有计划,自然也不会有什么成绩,这就进一步论证了“我是一个平庸的人”。

    平庸或者非凡,是对个人成就的一个结论,而不是对一个人能否有成就的条件。

    换句话来说,在我们把事情做成之前,我们都是平庸的人。但是只要我们开始做了,我们就有机会做成,有机会成为一个非凡的人。

    而这所有的开始,就是去撒一个谎。

    不必要求自己有百分百的把握,只需要自己能看到些许实现的希望。

    然后就是把这个大的谎言,切分成一个个小的谎言,在不停地的兑现小谎言的同时,评估自己的计划并作出调整。然后一直走下去......

    最坏不过是从头开始。

    相关文章

      网友评论

        本文标题:所有对未来的承诺都是谎言,我们要把自己撒的谎兑现

        本文链接:https://www.haomeiwen.com/subject/jwuzwqtx.html