由《软件随想录》想到项目管理

来源:互联网 发布:淘宝返利退款会退回 编辑:程序博客网 时间:2024/05/09 14:23

晚上读了Joel的《软件随想录》的前两章,对比了下自己在项目中的管理,有些总结,自己YY下。

 

项目管理的方法:

 

1)军事化管理方法,即上级发命令,强制下级完成。

 

     不靠谱的,程序员表面上可能会迫于你的淫威,勉强答应你,心里肯定很不爽,久了就会躲避你这样的项目经理,不愿意和你做项目。

 

2)经济利益驱动法,即答应如果你在什么时间点完成什么项目获取多少奖金。

 

     偶尔可以用,但不能作为习惯的手法。激励分为内部激励和外部激励,内部激励就是自己主观上能动的去完成某件事情。外部激励就是

 

     给以经济或者时间的奖励。往往内部激励最持久,也就有效的。外部激励如果一旦养成习惯的话,如果没有外部激励程序员就没有干活的

 

     欲望,这样的话,培养出的趋势就是工作就是为了工资,为了奖金,把自己的兴趣爱好同工作截然隔开来。

 

3)认同法。就是要从根本的制度上让程序员为了一个共同的目标去奋斗,比如不加班,提升多少程序的性能等。

 

     认同法比较难操作,要熟悉每个人需要什么,然后总结汇总会得出大部分人的共同需求,根据这个定目标,定共同的期望值,并且要对

 

     这个期望值负责,一直跟踪到底,没有人希望不被重视。项目经理的职责就是教给程序员解决问题的方法和大局观,如果项目经理真心的

 

     想带底下的程序员的话,程序员肯定能够感知的,这样的话团队的力量就会同一,战斗力就会加强。

 

怎么样把让程序员把工作和自己在技术方面的兴趣爱好结合起来?

 

     如果你仅仅是为了份工资而工作,那么真的没有太多必要罗嗦这么多了,好的程序员应该有比这更高的要求,工资是我们的最低要求,希

 

望诸位看官都是好的程序员,至少目标是成为一名优秀的程序员。

 

     以前项目经理给我分配任务的时候,问我什么时候能够做完,我一般都会多估1到2天,呵呵。前面的时间努力把工作做完,后面节省下来

 

的时间用来学习自己感兴趣的技术或者打打酱油什么的。

 

     我觉得这样做有两个弊端:一个是自己强制的把工作和自己的兴趣分开来了。二是增加自己的主管或者项目经理看到自己在干与工作无关

 

事情时候的恐慌心理,这样反倒不能专心自己的感兴趣的技术了。

 

     最好的办法是项目经理或者技术经理前期整理出项目中涉及到相关的技术点,然后列表出来,让程序员认领自己感兴趣的技术方面的功能

 

点。然后让曾经有过这方面的经验的程序员结对编程。

 

     这样的方法适合那种没有紧迫的deadline的项目,等这种氛围培养起来了,团队的战斗力增强了,有deadline也不用惧怕了。

 

     有些时候有的程序员害怕挑战自己陌生的东西,要鼓励他,淡化考核的内容。

 

     有些时候有的程序员不晓得这个技术自己敢不敢兴趣,让他先做,等项目做完了,让他整理份小组内的培训文档出来,给大家做个培训,

 

一来可以增强他的自信心,而来可以在团队内推广下新的技术,获取下次项目当中就可能用的到。

 

给专业的程序员的建议。

原文的标题是“给计算机系学生的建议”,我稍微篡改下,改的更适合我们已经工作了的兄弟。

 

1)学好C语言,打好扎实的算法基础,不要被市面上那些流行的语言所迷糊,如果本质懂了,表面上的花点功夫很快就能搞定的。

 

    C语言虽然现在市场的使用率没有java高,但是计算机的核心技术都离不开c语言,c语言是优秀的程序员必备的基础。

 

2)打好技术写作的基础。可传承的优秀代码一般都有详细有效的说明,还有要让你的影响扩大化,就必须能够清晰的进行语言和书面表达。

 

    这方面的训练可以多写笔记,多参与小组内的讨论,多写技术博客等。

 

3)学好微观经济学,学懂了这些让你明白生意为什么这样做,会让你更有价值。

 

4)大量的编程训练,多试验不同的平台,不同的编程语言,自己做个demo程序,再工作中找到可以应用的点,把技术和工作结合起来。

原创粉丝点击