我们常常会有这样的疑问:敏捷实施中每个task时间由团队自行决定,以确保任务的高质量完成,但客户也有自己的最终交付日期,一般情况下,若团队每个task时间太长则必然影响交付,而为了准时交付多半在质量上就难以把控,那么在实际实施中,我们该如何去协调质量与进度之间的冲突呢?项目管理者联盟
其实很简单,记住一句话:进度是质量之敌,质量是进度之友。talent.mypm.net
因进度而损失的质量是不可挽回的,我们往往会想:以后再改就是了!但实际的情况是:不改继续或者重新再来。转自项目管理者联盟
因质量而损失的进度是可以挽回的,因为后期将没有Bug,代码还能复用。项目管理者联盟
但具体做的时候,还是要注意一些事情的talent.mypm.net
1. 快速收益项目管理者联盟文章
刚才提到一个词,叫做“后期”,这是个很矛盾的词,因为一定要把“后期”“提前”。也就是说,不能为了质量而质量,无视进度的需求而盲目搭建庞大的底层库和平台。项目管理者联盟
在松结对编程系列的L型代码结构的几篇文章中提到,底层库(L的水平部分)必须是为了上层应用(L的垂直部分)而出现的。项目管理者联盟
真正的高手,如果给他一个很急的活,让他“随便做”,做完之后,会发现代码很漂亮,完全符合“不急的活”的标准。这是因为在高手眼中,高质量的就是快速的,两者一样,否则就不称之为高手。club.mypm.net
高手做完“很急的活”之后会说这么几句话:“因为……,所以我没考虑……的情况;”“另外,性能上……”;“还有就是……”而不能这么说:”这堆代码你看不懂是因为……“”为了打字快点,这个变量被叫做a……“”以后这段代码可能会拆成10个函数……“club.mypm.net
因此实际上,编写高质量的底层库不花费额外的时间;真正花费时间的是“需求镀金”,就是做了额外的事情,本系统,或者现在,不需要的内容。项目经理圈子
2. 管理整个团队项目管理者联盟
高手如此,新手就不一样了,因此一般情况下会让高手监督、指导新手的工作。club.mypm.net
但这里边可能有几个误区:项目管理者联盟
2.1 高手很忙,有时间监督、指导新手吗?blog.mypm.net
招聘徒弟这件事情,必须是由高手驱动的,不能塞给他一个徒弟。而高手去招聘徒弟的时候,必须招收一个自己每天付出1小时的指导时间,新手能回报2小时的工作量的徒弟,否则就别招。如果这两者都做不到,可能是师傅水平还不够高(没有高到能用新人的水平),或者徒弟招的不合适(没有“好”——不是“高”——到能被师傅带的水平)。项目管理者联盟
2.2 新手天天“复用”高手的代码,自己学不到东西怎么办?www.mypm.net
出现这种情况无外乎两个原因:一,自己埋头编程,从来没见过什么是好代码;二、人生三大憾集于一身(遇良师不学,遇好友不交,遇良机不握)项目管理者联盟
高手在试用期期间(徒弟是他找来的),要迅速判断新手是一还是二。如果是一,利用调用代码的机会传授一下编程方法;如果是二,送回社会以待天时。blog.mypm.net
2.3 新手拖累高手怎么办?项目经理圈子
还是2.1的思想,高手要以完成项目为目标,而不要以带徒弟为目标。因此,应该循序渐进地招徒弟,培养徒弟。项目管理者联盟
换言之,师傅招徒弟这件事情,很像L型代码结构。没有一个徒弟是为了培养而招聘来的,都是为了更快地完成工作才找来的;否则就是团队级别的“需求镀金”了。club.mypm.net
3. 保持专业性service.mypm.net
若我们的专业性说服自己:”保证质量才是快速完成这个项目的真正方法“,那么就要坚持它;若不能坚持,则说明我们还没有真正把客户的价值放在首位,而只是把”自己当下千万不要担当责任“放在首位了。转自项目管理者联盟
毕竟客户,以及老板,最后的目标都是快速拿到好的产品,而不是聘用一堆唯命是从的奴才。项目管理者联盟
|