以前写过一篇,不满意,重写以下:
程序员
管理通常说来,就三件事:管人,管事,还有管钱。而这三者其实又是联系起来的,好比,咱们能够说:让合适的人作合适的事,并给他合适的钱。那么,问题就转化为:怎么才算“合适”呢?编码
有一些人的管理工做随意散漫,但他们振振有词,“管理是一门艺术”。我以为,他们应该仔细区别一下,错落有致和杂乱无章,简约清爽和粗心大意……spa
或许他们还信奉权谋之道,用人嘛,“打个巴掌,给个枣吃”。你在用驴呢?稍微有点想法的就会不服,凭什么打我一巴掌?稀罕你这颗枣子呢?把爷当傻子耍?去你妈的!.net
利益面前谁都不傻,靠阴谋算计当心思,只会形成管理者和被管理者之间的复杂博弈。简单点说,就是勾心斗角阳奉阴违。你觉得你在玩他,他其实悄悄在玩你,搞成了宫斗权谋,一片乌烟瘴气。项目管理
咱们从一个最简单的例子提及。一件功能,交给张三去完成,给他三天时间。提早完成了有奖,超时罚钱扣工资。任务布置得清晰明了,并且赏罚分明,是否是?管理就这么简单。开发
凡是这么想的人,必定是没有搞过管理工做的。文档
中间可能出现的突发状况太多了。三天事后,任务尚未完成。你火了,问为何?一堆的理由:任务难度太大,工做量太多,李四不配合,理解错了你的意思,中间出现了什么突发状况……反正都不是他的责任。他说得这么有道理,你处罚试试看?没过几天你就孤家寡人光杆司令一个。因此,最可能的状况是,问一下缘由,埋怨两句,给他擦干净屁股,而后照样稀里糊涂的过日子吧!get
上述管理者困境的一个重要缘由,就是管理者本身都不清楚:分配下去的任务,难度有多大,工做量有多少,可能出现的状况有哪些……本身都是一本糊涂帐,怎么可能管好别人?博客
咱们经常说管理人员要有威信。威信是怎么创建起来的?工做起来要成竹在胸,而不是稀里糊涂的把任务布置下去以后,遇到问题一问三不知,瞎指挥穷折腾。这样次数多了,下面的人天然不服,“聪明”点的就开始动心思糊弄了……自动化
话是这么说,但具体到咱们软件开发中的项目管理,成竹在胸就不那么容易了。
以项目预算为例,我历来没看到过一份清清爽爽的软件项目预算表。
先看报价。都是作工程,好比建筑工程,根据图纸,材料人工,一项一项的清单报价,无论多大的工程,价格算出来都是精确到分的,好比1080732.76元;但软件开发,合同能精确到百,都不错了,通常都是20万、 3500之类的,感受在价格就是随口喊出来的同样。
再说工期。建筑工程,误了工期,时间稍微长一点,违约金都赔不起。软件开发,延期延期再延期,才是常态,是吧?即便勉强交货,那都是蒙人的,里面bug一大堆,先交了货,再慢慢“维护”吧!
想来主要有两点缘由:
因此项目负责人对项目的细节没有切实的把控,只能凭着“经验”或者“想象”来大体的“估算”项目的工做量。而事实证实,这种估算是至关不靠谱的。
处理一个复杂的事物,最经常使用的手段,就是把他切分红一个一个简单的部分。针对项目管理而言,咱们推荐的,就是作任务切分。
这实际上是一个必须得作的工做!区别只在于你是主动仍是被动,是认认真真仍是敷衍了事的在作。别说是一个团队,必须得分工配合;就算是你一个开发,先作什么再作什么,你内心也得有个数吧?
只是不多有人专门花时间和精力,有意识的来作这件事。由于咱们对于项目管理中“计划安排”的理解还不够深入。
根据个人项目实践经验,深刻细致的任务切分,可以帮助咱们:
总之,切分完任务,对这个项目,基本上就心中有数啦。若是说“管理艺术”,游刃有余的分配安排任务,像庖丁解牛同样,“以无厚入有间”,游刃有余,这才能给人一种愉快的艺术享受!
我极力主张:把任务要切分到尽可能小的的粒度,好比一个任务20分钟左右,最多不超过60分钟。固然,不少同窗担忧这样作的成本过高,是否是项目经理一天到晚就切任务去了,不用干别的了?
这是一个值得讨论的问题。粒度越细,可控性越高;可是也要考虑成本,过犹不及。这个应该是根据项目具体状况,灵活掌握。
这里我只分享一下个人一个变通处理实践:你也可让开发人员本身进行任务切分,你在任务验收时同时核查任务的难度、工做量等。(若是你须要考核的话,由于这时候代码都已经提交review了,算是水落石出,作复核工做量其实不多了,因此开发人员通常也不会乱来)
但这里有一个小问题,就是开发人员开始可能会抵触这种作法。他们会认为切 分任务和写文档、写注释、写日报周报同样,是无用的工做。
道理固然要讲,但最好仍是事实说话。
我随你的便,但只有一个要求, 你先把你要花多少时间告诉我。他说行,好比一个功能点,他信心满满的说,“2小时够了”。结果够个屁!哈哈,他两天都搞不出来。我就要找他说为何了呀?东一榔头西一棒,他怎么说得清楚?焦头烂额以后,他本身去体会。多尝试几回以后,外加他技术水平的逐步提升(切任务不是个简单活,很考功力的),最后他也养成了习惯:敲代码以前,先切任务。其实这就是一个理思路的过程,哪怕是纯coding,作以前思路清晰了,也能事半功倍。“磨刀不误砍柴工”,说的就是这个道理。
有人以为这样作不值得。你辛辛苦苦的分任务,作计划,需求变了呢?或者出现了其余状况呢?计划是否是就白费了?越完善详尽的计划越不可能实现……
这些倒都是经验之谈。现实确实如此,“计划永远没有变化快”!可是不是就能够证实,咱们不须要计划了呢?让咱们静下心来仔细分析一下。
首先,不管如何,首先确定要有一个计划。公司要签合同要有金额工期,项目经理要报项目安排,程序员也要在deadline以前完成手头的工做……不管你愿不肯意,这是一个客观要求,很难逃避的东西,是否是?
那么,为何咱们不少人提起计划就头痛,特别反感计划呢?我以为,很大一个缘由是由于:计划被滥用。
好比被要求写这些日计划周计划月计划,写的时候就不情愿,感受画蛇添足;更况且要是没能按计划完成,还要被要求说为何!太多为何了,怎么说得完?真要说呢,又会被批评“为失败找借口”,烦死啦!因此就作个假计划大计划空计划之类的东西敷衍一下完事……
这种作法有几个问题:
因此,咱们必须明白:计划制定出来,就是被破坏的。计划没能按预期执行,并不说明他们没有用。实际状况发生了变化,计划就应该相应的调整;但这种调整应该是有序的可控的,而不是胡乱的调整。有序的调整可以最终保证大任务的顺利完成;而无序的调整,只会把事情搞得一团糟。怎么样才可以有序?仍是要有计划!一份计划,就像一张图纸同样,出了状况,铺开图纸,圈出出相应的部分,结合周围的状况,考虑一个妥善的解决的办法……而不是一堆人你一句我一句,天马行空,公说公有理婆说婆有理,乱哄哄的不可开交。
任务管理系统就可以帮助咱们及时迅速的应对各类变化。除了能够提供自动化的统计分析之外,更由于项目已经被有效的切分。
若是你的计划是一个不可分割的总体,犬牙交错,牵一发而动全身的那种,那么固然,每一次改动必然都是一次伤筋动骨的大折腾。
但经过良好组织的任务切分,改动就能够被有效的对应到相应的计划部分。这时候,每一次的改动就是一个局部的改动, 是很是容易被从新计量评估的。好比,某次改动,会影响原任务3098-4012,原任务3876-3879,任务量共计480分钟;改动新增任务 5678-5894,任务量共计300分钟;因此任务总量减小180分钟,很是清晰。
总之,任务的切分/分配能帮助项目管理人员深刻的了解项目,并在此基础上合理的计划安排开发工做,应对项目实施中的各类变化,是任务管理系统的基石。
++++++++++++++++++++
哇塞,写得好苦啊!最难产的一篇博客!