这是微软资深项目主管人Stephen Maguire的项目管理经验。软件开发和网站开发有极其相似的地方,我们可以从中学习领会许多知识。
第壹章 有效团队的条件
1、专心改善产品
公司付工资给设计师,要他们在正确的时间开发出品质精尖的网站,可是设计师们的时间却我们时常被其它事情占用了。
典型的情景是设计师要花大量的时间准备会议,参加会议,读写开会记录和进度报告,还有回复email等等,这些事情都不能改善网站的工作,虽然其中一些是设计师自己主动做的,但更大一部分是项目主管下的命令。
虽然项目主管的本意是好的,可是却违反了项目主管的基本守则:项目主管的任务是努力消除设计师工作上的一切障碍,让设计师权利专注在真正重要的工作上---网站开发。
这不是震惊世界的发现,只是容易的事理,可是有多少项目主管的确做到呢?
2、排除干扰
假如你希望团队在期限之内完成网站,就务必尽可能排除一切不必要的工作。在你分派工作给组员前,请问问自己,这件工作真的有必要让大家做么?身为项目主管,务必时刻问自己一个问题: “我蹈厉奋发的目的究竟是啥?”
常见的就是让组员写报告。一天8小时工作时间,很可能4个小时花在了写报告上。而正常的开发工作却不得不加班做。
请勿误解我的意思,我其实其实不是说不用进度报告,只是提醒项目主管们,不要过分重视“项目流程”,而忽略了真实的产品----你的网站。我的一点心得是:用一个新的措施了解进度,容易写,而且不花时间。
1)当有设计师完成一个功能(子项目),就发一个内部email给大伙;
2)当项目进度可能落伍,就和我私下交流,讨论解决的措施。
3、明确目标
啥样的目标是明确的目标呢?其实其实其实不一定是博大精深的,只要足够详细,能够保证项目向正确的方向进行就ok。通常只要项目组长花几小时,或几天时间就可以制定一个详细的项目目标。例如本站:
目标1: 建立一个以网站项目管理为主题的网站。评价:目标已经明确主题,但还是不够详细。
目标2:为网站项目管理爱好者提供一个交流的平台。评价:目标定位了服务对象和主要功能。可是并没有体现我们建立网站的深层目的。
目标3:为网站项目管理爱好者提供一个学习交流,并能够共同制定详细规范的平台。评价:明确的目标,指出了服务对象,最主要的功能和网站本身的目的。
在目标确定后,我们就坚持这个大方向,凡有助于目标实现的最先完成,好比:论坛,规范文章。与目标无关或关系不大的,可以不做或推迟做,好比人才交流,漂亮的界面等。
4、设计的优先考虑
我们要建立以下基本观念:项目目标引导项目的方向,而设计的考虑顺序影响设计的过程。
每个项目的详细情况不同,考虑的优先顺序也回不同,一般而言,程序设计考虑的优先级表为:
1)尺寸大小(size)
2)速度
3)安全性
4)可测试性
5)容易维护
6)简洁
7)再用性
8)可移植性
除了优先考虑顺序外,你还应该建立各项考虑点的质量规范。如果事先能够决定最适当的优先考虑顺序,并建立质量规范,团队就不会浪费时间,网站的整体风格就会比较一致。
第贰章 有效的作业方式
1、啥时候更改错误
微软的经验是:(1).bug越晚清除,时间花得越多; (2).在开发进程中立即除虫,可以让您早些学到经验,然后不会犯同样的错误;(3).如果能够保证没有任何错误,您就能比较准确的估出项目的完成时间。 因此,设计师应该把找错误当成一件重要的事情,不要为任何理由而延误。
2、email的时间陷阱
回复email要分批做,早上一上班,中午休息时间,或是下班前看一下都能,但不要有事没事都不停的看email。
3、方法让大家分享
身为主管,你应该鼓励组员提出改进工作效率的建议。引导组员思考的要领也很关键。好比,下面两个问题:
a.为啥进度总是一再落伍?
b.有啥办法可以防止将来再发生进度落伍?
第壹个问题可能的定论是:互相依赖的工作太多,工具太难用,老板是个白痴等等;第贰个答案可能是:减少互赖性的工作,购买更好的工具,与老板加强沟通。
两个问题的方向不同,第壹个是探究原因,导引出抱怨;第贰个是未来改进的要领,导引出解决办法。
问题越精确,问题越有力,对项目目标的实现就越有益,让我们再看三个问法:
a.如何保持每次都如期完成项目?
b.怎样在不加班的条件下,如期完成项目?
c.怎样在不加班,也不增加人手的条件下,如期完成任务?
第叁个问法,就强逼大家来点真正有创意的思考和认真检讨工作本身值得改进的地方了。一次比一次更精确的问题,可以刺激思考过程,激发更有创意的定论。
4、无意义的责罚
责罚是一种心理上的负强化作用,责罚是对员工的责骂,训斥与要挟,就象鞭打马匹使它服从主人的命令。这种管理手段是该受谴责的,如果主管们的用意是希望组员因此而工作更蹈厉奋发的话,就大错特错了。这种责骂只会激起组员心中的愤慨,羞恼和沮丧。其实,往往这些项目的问题都出在管理方面,目标不明确或野心太大,设计师只是倒霉的遇上了差劲的主管,其实他们的能力不比其它项目的设计师差。因此放弃责骂吧,责骂只会让项目更糟,绝对没有任何改善的效果。
第叁章 保持进度
即便最顺畅的项目,也无法完全根据计划执行,可是,假如你放任计划随意进行,有一天你猛然发现项目脱轨太远,来不及完成。项目就像一枚瞄准月球的火箭,只要有一点点不够精确,到时候就无法命中目标,差之毫厘,失之千里,实在不可不小心重。聪明的主管晓得这个事理,他们会我们时常注意项目的精度,随时修正方向,保持项目不偏离计划进行。本章将介绍一些很有效的策略,帮助项目保持进度。
1、向前看
我一直相信,项目之所以脱轨,主要因素在于人们没有认真思考如何使项目保持进度,顺畅进行。如果没有未雨绸缪,只是坐等许多问题发生,到那时候就太迟了。30天前没有花30分钟思考这个问题,现在就可能要浪费几小时或几天的时间去修正。这就是所谓的“被动工作”。
解决这种被动工作的要领,就是化被动为主动,事先发掘潜在的问题,并设法避免。有许多方法和技巧可以训练自己“向前看”,但总结起来不过是一句容易的要决:定期暂停手边的工作,然后往前思考,随时做必要的修正,以避免将来的大障碍。
我已经有十年以上的习惯,每天花10到15分钟思考下列问题,并且列出答案: 有啥事情是我今天能做,而且可以助推项目在未来几个月内顺畅进行的?
2、明确定义需求的范畴
人们在开口要求的东西未必是他真正想要的,处理他的要求之前,请务必确定他到底想要做什么。
在网站项目开发中,我们时常会遇到客户或领导层提出一些希奇古怪的切实需求。一次,首席设计师惊慌失措的跑来找我,告知我麻烦来了,客户对新设计的界面不合意,要求根据某个著名网站一摸同样的设计。如果真的那样做,需要重新花一个星期才能做出来,可是目前离期限的时间已经很短了。听了他的陈述后,我务必承认如果真得那样做,我们的进度就完蛋了,同时我也很好奇,为啥客户会有这样的要求,所以在我答复他们做还是不做之前,请客户经理去考察一下这个需求的原因。不一会儿,客户经理笑嘻嘻地回来了。
“他们只是看中了那个网站的动态下拉菜单,觉得那样比较吸引人”
呵呵,我知道他在笑什么了,这样的动态菜单我们其实早就有现成的模板了,只要将它替换现有的设计即可。而我们的设计师不清楚客户的喜好而已。
大部分客户在提出需求时都不解释原因,这种情景太普遍了,甚至你的管理层也会发生这种情景。假如你从他们的要求中无法看出他们的目的,你可以反问他们,在还没有理清楚到底想要做什么之前,不要贸然答应,宁可拒绝他们的要求也不要浪费这种时间。