随笔-77  评论-750  文章-51  trackbacks-22

重构你的软件企业

  这里说说自己对一个软件企业的构建和管理的感想,不全面,因为我就一程序员,只能站在普通员工的角度考虑问题,也是站在中国广大小公司的立场思考的,文章标题取的比较大,为了吸引更多人来拍砖。管理上的细节我也不懂,主要就是让每个人都开心,互利互赢,让公司有发展的潜力。

  • 组织结构的搭配

  以下角色必不可少。  

  项目经理:负责软件的业务流程、团队管理、项目计划和进度、文档、内部和外部的沟通、各种规范的制定、各种选择的最终决策等等。这个角色需要德才兼备,慧眼识金,因为他是最终的决策者,任贤任能,同时还要为部下争取应该有的。  

  架构师:任何一个软件企业都需要一个高水平的,能够总揽公司所有产品、所有开发人员的技术水平、知识结构、特长的一个架构师,有了这样的一个人可以在老产品的维护、新产品的开发或者老产品过度到新产品时做技术和方案的选型和繁重的架构工作,以及在公司规划下整合所有产品或者集合所有产品的平台做总体设计的工作,和人力资源的优化,让每个人工作处于饱和状态、发挥所能,同样人力资源下利用率最大化,对开发周期和软件质量都有好处,不至出现有人忙有人闲的情况。如果缺少这样的人,公司在新的时期会遇到一个决定都无法下下来等情况,或者大家像无头苍蝇一样劲不往一处使。  

  产品经理:这个角色除了把握公司产品这个大方向外,在他手下还应该有一个测试团队,负责研发出的软件的测试工作,公司软件的发布由产品经理负责,他的决定信息来自他的测试团队,测试团队在对功能、性能等等方面测试后认为软件没问题了,产品经理才会发布软件。 

   除了这几个角色外,如果能拥有一些高水平的程序员自然再好不过了。

  • 英雄主义的重要性

  很多人都说现在已经不是英雄主义的时代,这些人要么是人云亦云者,要么是商人、老板、企业高层管理者,因为他们不希望依赖于某个人,谁离开了他们都不担心。但事实上要想做一件足够了不起的事情,总是需要一个人第一个站起来用一流的眼光一流的思想去动手做这件事,其中的各部分也总是需要有人提出更好的解决方案。这些行为就是英雄主义,英雄主义不是逞能,它是激情与思想相碰撞的产物,有时候还需要技术能力做催化剂,是创新的源泉,是创业公司发展的起点。团队的作用就是为了能够拥有更多的英雄,团队合作也是要建立在英雄主义的基础上的,十个二百五恐怕无法组成一个优秀的团队。  

  鼓励创新并给与很高的奖励如果你欣赏的一项创新需要一个部门那就给创新者一个部门,他是头;如果不需要一个部门那就给创新者一个更高的职位或者一个头衔,外加相称的薪资待遇;如果这些都无法给,那么可以给他加薪或者一笔奖励。无论如何荣耀是最主要的,公司或任何个人都不可以剥夺创新者的“创始人”的荣耀,并且还应该主动的把这个荣耀戴到他头上,无论企业内部还是IT这个行业都去播撒消息承认他的丰功伟绩,比如在公司新闻里写上,无论是浓墨重彩还是一笔带过,即便知道有天他会离开。

  作为程序员,职业生涯是短暂的,当他辉煌不在时,一样能够凭借年轻时的创新能力得到其他行业和企业的认可,这就需要此时的企业对他做最大程度的认可,企业会因为更多的创新得到回报,这也是对公正与人才的尊重。

  • 公司制度和环境

  对于制度应本着自由平等的原则,另外该给人办的就给人办了,不要等到员工向公司提要求的时候才去解决他的要求。环境就依照宽松舒适方便,最主要是方便沟通,同一项目组的人方便走动交流,会议室应有多个,大小都有,墙壁上就别挂什么广告类的东西了,放点艺术类的画也比放广告和企业宣传等的好,留些空位放开发中的图纸,如用例图和类图等。

作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted on 2011-04-29 11:00 Rick Carter 阅读(1861) 评论(22) 编辑 收藏

评论:
#1楼 2011-04-29 11:05 | 孤风      
有点理想化
 回复 引用 查看   
#2楼 2011-04-29 11:48 | take it and go      
程序员的生涯不短暂,我觉得楼主你理解错误
 回复 引用 查看   
#3楼[楼主] 2011-04-29 11:58 | Rick Carter      
@孤风
呵呵,是的

 回复 引用 查看   
#4楼[楼主] 2011-04-29 12:00 | Rick Carter      
@take it and go
嗯,也许,但不是每一个人,更可怕的是人的激情会慢慢逝去

 回复 引用 查看   
#5楼 2011-04-29 12:06 | 徐少侠      
对架构师过于理想了。
架构师仅仅在架构上比普通程序员多了解一些。
一个高水平的,能够总揽公司所有产品、所有开发人员的技术水平、知识结构、特长的一个架构师?
这往往是不可能的任务。因为这就意味着不可能存在一个技术水平比架构师高的程序员。呵呵。
如果有一个兄弟做了20年C++,就是没搞过架构。是不是必须辞退人家?


 回复 引用 查看   
#6楼 2011-04-29 12:17 | huyong      
这不是一两句就能说清楚的。
 回复 引用 查看   
#7楼[楼主] 2011-04-29 12:52 | Rick Carter      
@徐少侠
是的,可以在一些方面进行妥协,找个最适合的就行

 回复 引用 查看   
#8楼 2011-04-29 13:49 | 诺贝尔      

越高层所决定的东西越空泛,就是决定公司花费多少力量在一个方面上。


 回复 引用 查看   
#9楼 2011-04-30 20:36 | 小草      
我很认同你所指的“英雄主义的重要性” 从我目前的项目情况来看就是领导缺少这种意识与决策的错误
 回复 引用 查看   
#10楼 2011-05-01 21:40 | 北京美健宝科技公司      
认识过于偏颇,等你真正搞个软件公司就不这么想了。公司需要弱化每个角色的重要性,提高团队整体的战斗力。
 回复 引用 查看   
#11楼[楼主] 2011-05-01 21:55 | Rick Carter      
@诺贝尔
所以高层中需要一个精通技术的,谷歌、微软、苹果最初创业期就是有这样的人存在才有今天

 回复 引用 查看   
#12楼[楼主] 2011-05-01 21:57 | Rick Carter      
@小草
应该是领导的自大造成的,程序员中自大现象严重

 回复 引用 查看   
#13楼[楼主] 2011-05-01 21:58 | Rick Carter      
@北京美健宝科技公司
那就准备永远做人才输出公司吧!

 回复 引用 查看   
#14楼 2011-05-02 07:18 | 北京美健宝科技公司      
@Rick Carter
“人才输出”也是公司的社会职能之一。难道你没有跳过槽?跳槽之后没有涨薪吗,这中间没有前一个公司的功劳?

“公司需要弱化每个角色的重要性,提高团队整体的战斗力。”哪个公司不是这样。国家的三权分立强于一党专政,君主立宪强于君主专制,公司和国家都是社会的一种组织形态,公司可以看做一个小的国家,都是一个道理。

站在金字塔底层,永远不知道塔尖看到的风景。经历过了,体会就深刻了。

 回复 引用 查看   
#15楼[楼主] 2011-05-02 09:56 | Rick Carter      
@北京美健宝科技公司
我跳过槽,这只是对我来说有好处,对于公司就很糟糕了,如果团队中大量的人跳槽,团队不稳定,必然导致产品研发出问题,“公司的功劳”不是为了让我找份更高的待遇,这个站在公司角度考虑就知道跳槽没好处了。
另外弱化每个角色的重要性,只会降低团队的整体战斗力,大家都不重要,只有领导重要,这不是专制是什么,你正好把这些弄反了。
除非这个领导在互联网、信息化和软件等方面看的比上帝还远,否则还是把自由分给更多的人比较好,大家都有话语权,提出各自的看法,这样来提高团队的战斗力。
当我还站在金字塔底层的时候,我完全不是今天这样想的,如果自己的发展出现瓶颈的时候我开始尝试着站在塔尖去思考问题,才有今天这些话。

 回复 引用 查看   
#16楼 2011-05-02 10:10 | 北京美健宝科技公司      
引用Rick Carter:
@北京美健宝科技公司
我跳过槽,这只是对我来说有好处,对于公司就很糟糕了,如果团队中大量的人跳槽,团队不稳定,必然导致产品研发出问题,“公司的功劳”不是为了让我找份更高的待遇,这个站在公司角度考虑就知道跳槽没好处了。
另外弱化每个角色的重要性,只会降低团队的整体战斗力,大家都不重要,只有领导重要,这不是专制是什么,你正好把这些弄反了。
除非这个领导在互联网、信息化和软件等方面看的比上帝还远,否则还是把自由分给更多的人比较好,大家都有话语权,提出各自的看法,这样来提高团队的战斗力。
当我还站在金字塔底层的时候,我完全不是今天这样想的,如果自己的发展出现瓶颈的时候我开始尝...


跳槽对于公司具有两面性,没有跳槽怎么能够招聘到有经验的员工?!正是站在公司角度考虑,所以跳槽才是合理的。公司培养了你,你跳槽了,把新的技术或者思想带到下一家公司,整体上提高了整个社会的技术水平。如果仅仅站在一个公司的角度片面的思考,跳槽会影响项目进度。从长远的和社会的角度讲,跳槽是合理的。扯远了!

我强调“弱化每个角色的重要性”,并不是抬高领导的重要性。领导也是角色,必须弱化。你过于强调分工和角色,是过程开发思想;我强调“公司需要弱化每个角色的重要性,提高团队整体的战斗力”,是敏捷开发思想。

“弱化角色”不意味着“取消角色”。我反驳你“过分强调角色分工”不意味着“取消角色”。

很欣赏你的论点,看得出楼主有管理经验,但是你的论据不够充分!

 回复 引用 查看   
#17楼[楼主] 2011-05-02 10:23 | Rick Carter      
@北京美健宝科技公司
好吧,如果是敏捷开发思想那我就不多说了,不懂这个,呵呵

 回复 引用 查看   
#18楼 2011-05-02 10:24 | 北京美健宝科技公司      
引用Rick Carter:
@北京美健宝科技公司
好吧,如果是敏捷开发思想那我就不多说了,不懂这个,呵呵

很高兴与你交流,园子里有管理经验的人太少了

 回复 引用 查看   
#19楼[楼主] 2011-05-02 10:27 | Rick Carter      
@北京美健宝科技公司
同乐同乐,哈哈

 回复 引用 查看   
#20楼 2011-05-03 22:53 | ぬ儱←OWEN★      
现实比理想相比深远
是被现实打倒还是为理想前进

 回复 引用 查看   
#21楼[楼主] 2011-05-04 09:06 | Rick Carter      
@ぬ儱←OWEN★
追逐梦想!

 回复 引用 查看   
#22楼 2011-06-09 17:51 | 龚安川      
看了很有感触,但是跳槽对于公司和员工来说都是具有双面性质的。没有好坏,就看你怎么把握了。
对于员工来说:跳槽的原因无碍乎就是待遇与发展。其中一个都不具备自然会跳槽。但是对于真正有理想的程序员来说,跳槽绝对是件好事(因为跳槽的原因上面已经陈述),但是对于一个只看眼前利益的程序员来说,绝对是件悲剧。
对于公司来说:如果这个员工对公司是有利用价值,尤其是重要角色的话,自然公司损失很大,但是相反如果跳槽的员工只是一颗老鼠屎,自然对公司来说还是有利的。

 回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 2032524 pQ6in/z8n/k=