1.谈完钱之后,这件事儿就与钱无关了,大家的一致目标就是把这个活干完,干好。别干到一半的时候跟我提钱太少,活太多的屁话。
2.接私活主要是看组员是否有足够的时间、精力、能力来投入这件事情。三者缺一不可,我们之前就经常被坑。
3.时刻要记住,钱不是一个人挣的,要适当的放权,放钱,不要把自己的压力搞那么大。
4.关于组员的选择,必须要听话的,别我说一句,您那边有十句等着反驳我,事儿多的人,再厉害也不能用。听话,拿钱,干活,验收,走人。就这样简单。
5.前期跟组员说明白,需求,编码规范,进度,赏罚制度等等,先小人,后君子。爱干干,不爱干,滚。
【关于小弟】
无论什么项目,人,都是项目的唯一生产力。需要爱惜他们。
1.告诉组员,千万不要无脑编程,在开发的时候多思考,站在用户的角度上去思考问题,一定要定期做代码评审工作,
等到最后一定会吃大亏。
2.对于进度慢或者事儿多的组员,尽快换掉,换更能胜任本项工作的人,一定要多准备备胎,有备无患(备胎是私活情况)。
3.对不熟悉的组员,不要听他说自己多么牛,其实有狗屁不是,耽误进度。
4.对于新人,无论他的能力是高是低,都先分给一个小模块给他去试水,之后再做定夺。不要刚上来就分给他一个大的,最后坑死你。
【关于需求】
软件项目的重中之重。
1.需求调研,整个项目的重中之重,需求做不好,后续都是坑,一定会失控!
项目的领导者必须要全身参与进来,否则你无法控制整个项目,
项目失控才是最可怕的。千万不要等项目进行中,或者项目中后期还有一些最原始的需求搞不清。
要坚决杜绝这件事情的发生。在做之前,先想想怎么完成,宁可在前期多花一些时间,也总比在后期花大把的时间与精力去改代码强百倍,
其实真正coding的工作没多少,前期需求做好,比什么都强。等到大量返工工作量出现的时候,也是体现出你无能的时候。
2.需求文档的编写,是一门学问,编写完成后,需要组内会议,看看是否描述的有歧义点,导致以后的问题隐患。
3.前期是甲方在把控需求,中期是乙方在把控需求。乙方要掌握需求的主导权,不要甲方让你干什么你就干什么,不然会被玩死。
引用乔布斯一句话:“客户在没有使用产品之前,他们也不知道想要什么”。
4.把前期需要注册审批的东西都罗列出来,开小会碰,提前申请,不要等项目中期时再申请,卡进度,因为审批需要时间。
5.在项目的需求阶段,要跟合伙人把每个细节都过一遍,不用具体的实现,只是过一遍,预估一下是否会有瓶颈,以及风险评估,坑等问题。
6.需求分析并非一日之寒,需要多次与甲方进行沟通,此处需要整理出《需求分析文档》,让用户邮件确认。
7.最好派个BSE去甲方现场,有可能的话尽量常驻,在现场跟用户零距离的沟通。这样甲乙双方都踏实。
8.甲方都是外行,不让他看到UI,他自己也不知道是怎么回事。所以乙方描述的需求,和甲方真正想要的需求,是存在歧义的。
【关于控制】
项目经理的主要职责就是搞定项目的质量与进度。
1.真正项目开始之前,要制定好自己团队的编码规范等等文档,来约束组员,否则后续会有很多坑,
对于拉完屎没开屁股的同事,改他们的代码会很艰难。
2.别告诉手底下的人真正验收的日期,把这个日期提前一段时间(1-3周), 这1-3个星期作为缓冲期,这样整个项目压力会小很多,定好每个模块完成的时间,
小时间要卡住,卡准,不行就加班,如果不卡的话,顺延到最后会拖垮整个项目。如果按你定的时间完成任务,其实属于提前完成,你可以申请项目奖金。
否则也属于正常进度,你跟team说现在项目已经延期了,需要再加把劲。(其实是正常工期)
这种善意的欺骗对项目管理者来说,压力会小很多。deadline是项目进度最强推动力。
3.代码评审机制,一定要有,而且是在开发阶段的前期就要做,并且所有开发人员都要参加,我们之前吃过亏,前期没有代码评审,后面全是bug和隐患。
4.在项目初期-需求调研阶段,就要对风险点做预判,要有预见性,不要等到了那步再做决策,提前做决策。
各位leader自己来识别自己团队内的风险点,类似于第三方登录或者地图相关的地方,
打好提前量,准备充裕的时间以及人力资源做好调研以及相关的准备工作。
5.每天开例会,碰进度等,需要组员编写日报。项目经理编写周报。
6.必须要使用项目管理软件,例如持续集成+bug管理+进度管理+质量管理等,推荐禅道。
7.开发过程中,如果发现有攻坚问题或者技术壁垒,一定要给自己设置一个时间节点,过了这个节点,如果没有结果,
也先PASS,不要卡住,其他功能都开发完之后,再回过头来处理。把这个思想传达给组员。
8.小时间要卡住,卡准,不行就加班或填人,如果不卡的话,顺延到最后会拖垮整个项目。
9.管理者不要参与开发工作,因为整个项目必须有一个人是站在最高的位置上,审视全局,这样才能控制好项目的总体。
说白了,你就是船长,要负责船的大方向,把握好宏观的度。
10.强调代码注释,并且要强调不是代码的功能开发完毕之后才叫做完了一个功能,而是测试通过后,才算OK。
您传说中做完的功能,一测试发现20多个bug,亲那不叫做完了。依然是没做完,并且这种人可以考虑踢出团队了。
11.需要引入专业测试人员进行白盒,黑盒测试,并且与开发组同步,需要前期编写出测试文档,包括测试点,测试计划等等。
测试力度不够,会直接影响你的项目的健壮性。这里说的测试不单单是功能测试,还有性能测试。通过专业的测试工具,例如loadrunner
或jmeter等等。
12.前期制定项目计划的时候,别定的那么紧张,把你的兄弟们都累死了,对你也没有什么好处,需要人性化一些。
13.项目经理尽可能的参加每一个会议,这样你才能够更有把握控制好项目。
14.项目大的话,需要放权给组员,让组员来管理某些模块。不要让两个组员的管理权限有交集。
【关于失控】
项目经理制定的工作计划以及工期安排,不知不觉中,项目经理失去了对项目的控制,就像开车的时候刹车失灵一样。
1.及时总结失控原因,对风险点的把控,一定要有预见性,且头脑一定要冷静,浮躁/吐槽/抓狂等是无法解决问题的。