软件开发管理之思考

       作为一个项目管理者(我讨论的都是20人以下的开发团队经验),我觉得管理好一个团队,最重要的第一步就是要管理好人,如果一个团队领导得不到属下的认可,愿景再好的东西,也会走向失败。通常一个团队中的人员,会分成以下几类,一类是热爱编程的程序员,这类人肯学习,知识面比较广,善加使用能成为团队的核心,但是有时候会表现出情商较低,会影响团队士气。第二类是循规蹈矩的程序员,交给一个任务,肯思考,能比较好完成工作,这类人通常动力不足,但是比较好用,这类人是企业的中坚力量,善加对待,忠诚度比较高。还有一类就是"多面手",看似什么都懂,但什么都是浅尝则止,这类人有个好处,当面对上级的不合理需求时,让他去应付是个不错的选择。

        在团队的人员结构方面,我比较欣赏《人月神话》里讲的外科手术式的队伍,我见过一个公司,老板事必躬亲,绕过项目经理,同每一个开发人员沟通需求,结果项目经理也搞不清楚需求,老板也不知他提过什么需求,结果在出了问题的时候,互相推诿,所以在总体需求方面,我觉得要有一个"外科医生"式的人物来总体把握。在人员结构上,我比较欣赏以老带新的模式,新手的可塑性比较好,整个团队的成员能力要保持一个平衡。

       如果你能把人管理好了,那么接下来的项目就比较好做了,我觉得软件工程中的很多方法,像XP编程,scrum开发等方法,过于强调工作效率,而忽视了人是感性的动物。首先,作为一个管理者,一定要从内心里尊重每位团队成员,尊重他们的个性,因材而用。其次,在整个团队要保持一个均衡性,给新手较好的发展空间,给老手更多的个人空间。看过一些公司实行敏捷开发,结果只看到敏捷开发的开发方面的实施,而没有看到敏捷开发也很看重的一点:激励,寄希望于每个软件开发人员都是极客的思想是个人英雄主义的时代,对我来说,一个整体凝聚力比较强的团队,远胜于一堆乌合之众。

你可能感兴趣的:(项目管理及设计)