2008-01-30

重用管理和技术研究在软件公司的重要性

关键字: 软件公司发展 重用管理 研究
先说说我们公司的概况,主要是以一个行业的项目型企业应用为主,有一个技术框架但不完善。

我想听听大家所在公司的情况,就是你们公司有专门研究技术的人员和部门吗?这些人不参与项目的开发,而是开发技术框架,为开发人员提供技术支持和培训,对公司的技术资源进行积累,形成公司技术资源库。如果不设立专门的人员,而是在项目中积累,就没有统一性 ,开发人员在项目中受进度等项目指标的影响,他们的目的是完成项目,和形成技术积累目标是不一致的。

我认为软件公司提高开发效率,是应该要有一个这样的组织或部门来进行这样的工作,但实际上很多公司不够重视,结果因为技术支持不够,公司平台和框架不完善,开发效率非常低,以往技术资源的重用也不理想。公司领导对这块不是很重视,认为技术是次要的,项目是主要的。不把技术研究,通用技术平台建设以及资源库当作公司重要的任务来看待。直接的结果是,技术人员参差不齐,工作成果依赖实际技术人员的水平和学习能力,没有公司级的技术支撑。

我认为,在软件公司中,一个人的工作能力体现为四个方面:
第一 知识。拥有了知识,才有了解决问题的前提,知识面广,解决问题的思路就更宽阔。
第二 工具。熟练运用工具才能提高工作效率。用的好可能比用的不好工作效率高几倍以上。
第三 技能。比如精通Spring框架,技能直接体现在工作的效率上,是一个综合的体现。
第四 制品。这里就是指工作成果,程序员的制品就是写出高质量的代码,需求分析人员就是写出一篇完善的需求分析文档。

对于现在的企业应用,特别是开发Java应用,经常需要借用多个成熟的框架来完成,学习成本可以说非常的高。对于一个能够胜任工作的员工,应该有统一的获取这些知识,技能的途径。单纯通过自学积累是很难获得的,而且学习效率也非常低。
对于一个软件企业,如果想长期发展,我认为下面这些东西都是必须的:
1. 技术平台。公司统一的技术平台,为开发项目和产品提供支持。
2. 资源库。 积累特性领域模型和业务知识。
3. 研究中心。负责技术平台的开发,资源库的建设和维护。应该做为一个单独的组织。
同时负责组织和实施新技术的研究,并转化为公司积累。另外就是组织培训,
培训工具和开发技能,提高开发人员效率

目前我们公司的实际情况是,所有人都在参与在项目中,没有人负责技术研究和积累工作,技术框架也不够完善,也没有时间完善。我是技术总监,但人员都在项目中,所有这些事情不是我一个人能完成的,况且我自己也有一些琐碎的管理工作,根本没有精力实施上述计划。
请大家发表一下看法,不知道我问题有没有描述清楚。
评论
homesailing 2008-03-07
楼主的这个问题的提出,其实是大家可能大多都面临的问题。
我也同样面临这个问题。

一方面,项目繁多。新模块需求不断。
另一方面,不同项目基础框架差异很大。

我们的应用跨度非常大,C++\JAVA\DELPHI等都有,而且不断有新系统整合进来。
开发模式统一、新员工培训、技术架构不断革新 这类工作谁来做?

统一由技术总监来完成?   ---你要多少技术总监?
统一由老员工完成?     ---项目全部靠他们呢?
由部门经理来做?      ---日常管理琐事已经压趴了
由质量管理人员来做?    ---他们做不来

我认为,要让团队持续、高效地生产软件产品。必须要给他们提供一个相对安静的开发环境。
这里安静,是指:
尽量少的技术架构方面的影响
新技术能很快上手
即时是新成员,也能很快跟上大部队。

呵呵,我们希望有这样的组织机构,还要看战略、看产品是否有可持续发展之路。
如果只是搞搞项目,那老板估计是不会多掏钱,组织一帮高工资的人研究什么技术的。
Sing 2008-03-06
技术平台这样的部门,要看怎么用,如果仅仅是高高在上,提出指导的话,一般不行,因为早就脱离实践了,靠吃老本,根本行不通.
正确的做法是,跟实际项目结合起来推动复用的组件在项目中实际应用起来,再抽象,再应用,再抽象,再应用.
这样,一些组件就避免了重复开发,而项目组可以集中到业务上和具体的流程实施这一块.
象我们单位,就是跟项目脱离的,所以平台部抽象完的东西,很难应用到项目中去,目前只能搞一些企业内部的技术培训和招聘.
city_moon 2008-03-05
哎,小公司都这样,楼主的情况跟我现在公司的情况一个样,老板不关心技术,经商出身,时刻都是说以项目为主,不管怎么样,都要以最快的速度把项目开发完成,别说是成立部门来研究技术,公司连一个水平高一些的开发人员都不愿意掏钱招聘,更别提什么积累和研究了,公司都是以短期效益为主,好生郁闷呀!!真希望也能从楼主这里得到一些改变现状的经验!!
寄生虫 2008-03-02
我们公司有技术平台,也有知识资源库,也有技术攻关的专门负责人。
我想说一下现状:
1.技术平台
某一个人或者某几个人去负责这个技术平台的搭建,这些人必须是对整个平台能够把持住的人,也就是说,技术要够好,经验要够丰富,但是针对一般小公司,几乎很难找到这样的优秀人才。
2.知识资源库
我为公司开发了知识资源库,用了2天时间(数据库设计+编码+界面设计),考虑到2天时间开发不出太花哨的功能,只有信息的发布与回复,文档的上传与下载(类似Javaeye的最基本功能)。但是实施之后的效果是怎样的呢?
公司每周播报上传,每周例会内容发布,就只有这两点用到了。像其他什么技术知识的共享,技术难点的注意事项等内容,几乎没人发布,而是在项目中遇到问题解决问题,解决了问题之后,没有整理出解决方案以备下次使用,这其实是个人习惯,也是企业的文化影响着的。
ssuupv 2008-02-28
我觉得,上一定规模的软件公司,这个部门必不可少.
Frankie199 2008-02-28
“以最小的付出,获取最大的利益”
这个是现在国内大多数公司的要求,我们公司就是这样。
技术的积累只有放在项目里面,因为根本每人来做这些事情,大家都是在围着项目转。

公司原来有套开发框架,是原来技术总监搞出来的,现在他辞职了,还是用那个框架,本来有些地方要改一下,也没人来搞。不是搞不了,而是都为了项目。

大公司肯定有这些部门,我知道原来的托普软件就有研发中心
evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。


项目管理现在也有成熟度模型,与CMM类似,不同阶段的PMO职能是不一样的。
不管是扁平化垂直管理还是矩阵式管理,管理模式的变化都会带来利益的冲突,动之前要把利弊权衡好。

如果要谈PMO,最好另开一帖。
seen 2008-02-24
celine 写道
偶现在做的项目就是专门研究项目管理的,偶们公司的项目管理在国内应该算是比较早开始规范化的了,项目复杂度、规模绝对到了极度复杂的程度,千人规模的项目团队比比皆是,但是PMO绝不会自然进化出来,实际上我们已经投入了好几年的时间去梳理,目前还是一片乱麻

各位知道有那些公司项目(研发项目、工程项目均可)管理规范化制度化做的很好的,不妨介绍一下公司名字,偶们好去取取经~~~

evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。





>>偶现在做的项目就是专门研究项目管理的
还有这样的项目。。。难道不会流于成天扯皮?


>>千人规模的项目团队比比皆是
天哪 俺们做操作系统的项目都没这么多人 你们是IBM啊?
celine 2008-02-23
偶现在做的项目就是专门研究项目管理的,偶们公司的项目管理在国内应该算是比较早开始规范化的了,项目复杂度、规模绝对到了极度复杂的程度,千人规模的项目团队比比皆是,但是PMO绝不会自然进化出来,实际上我们已经投入了好几年的时间去梳理,目前还是一片乱麻

各位知道有那些公司项目(研发项目、工程项目均可)管理规范化制度化做的很好的,不妨介绍一下公司名字,偶们好去取取经~~~

evanyuan 写道
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。

evanyuan 2008-02-23
一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?


连接网上碰巧看到的

实施的话,上家公司200多人的开发团队,尝试着做,刚开始的时候,PMO负责人的权利好象被开发部门经理架空了,因为开发部门经理直接管理项目经理。后面发展什么样就不知道了。现在这家公司,外企信息部门的离岸外包中心,和PMO离得还比较远,效果不好谈。公司上千个历史系统,若干大型Program和Project同时进行,这个可能就是你所谓的条件吧,项目开发的复杂度和开发团队规模到了一定程度,有了对项目管理制度化和可重用化的要求,PMO就象一个自然进化的结果。
darkelf9 2008-02-23
公司自己的库最好有行业特色,适合公司本身的特点
对于比较成熟,并且有足够用户群的开源技术领域
最好不要去碰
ltian 2008-02-23
搞技术复用需要公司技术主管的大力支持,以及稳定的高水平开发团队。 从我的经验看,只要有高层的支持和水平足够高的工程师才行,这两个条件缺一不可。这也就是为什么很多公司没有做到的原因。
gohands 2008-02-21
很久以前的一种想法:
在实践中不断完善!
不过首先给开个头!
参考开源项目的方式
建立一个基础的平台.(login)
然后添加不同的可选模块!
主要是要让上面看到好处,看到效益!

现在大家更多地关注STRUTS,SPRING,HIBERNATE JSF...
郁闷...只能整天跟着跑!!
solo9c 2008-02-21
lz说的都是自己在项目管理中的体会么?

首先,我们公司前段时间刚刚通过CMMI3级认证考核,所以 我对组织的管理、技术的积累和维护有一些了解和想法,同时也有很多困惑。

大家应该了解CMMI是非常重视企业的历史项目、历史数据的积累和应用的,它要求建立一个历史数据库/过程资产库(即LZ所说的资源库),积累典型项目的历史数据和技术及管理实践,并由EPG(LZ所说的研究中心)定期的维护。

一个软件开发的企业没有上述东西,那么弊端是很明显的:
1、项目管理和开发不统一,技术参差不齐。
2、历史项目完成后,对以后的项目开发几乎没有提高。
3、项目的完成主要依靠几个技术骨干的发挥。
3、项目管理的和企业管理缺少数据支持。
.....

从另一个角度讲:开发人员(公司员工)会感觉到不到东西,得不到提高。

从模型的角度看,一个良好的开发管理过程应该是:
Plan(计划)==>Do(执行)==>Check(检查)==>Action(处理)
并且4个环节是循环的,呈螺旋状不断提高的。

做个比喻:一个企业像是一个应用软件,资产库就是软件的数据库,上面的4个环节呢就是对数据库的查询/更新/插入/删除等操作,而EPG(工程过程组)和开发管理人员就是访问数据库的SQL语言和工具了。

呵呵 乱说一通,不知道恰不恰当。

要想使该软件达到需求,有效率的执行,那就得做分析、策划(企业规划)、设计(过程设计)、实现(定义过程)、测试(试运行项目)等过程是必不可少的,投入也是非常巨大的。

为什么国内的软件公司几乎没有在这方面做的比较好的呢,比较明显的原因就是投入大,没有好的先例,短期效果不明显。

成本投入大不是问题,只要效果够好,符合成本的投入就不成为问题。

我认为主要问题还是改进的方法和方式,譬如如何能够有效的把个人能力和经验在项目中的体现积累到公司的过程资产库中。如果方法得当,我认为管理层还是能够认识到这种改进的重要性和必要性的。
nihongye 2008-02-20
方向比较大,很好。事情起步难,找一个具体而有趣的目标去实现,找找感觉再继续。
seele 2008-02-20
人才都是用在刀刃上的,框架的总结和开发是在项目完成后的空余时间做的..所以要求开发过程中对框架的矛盾和问题要记下来,我个人意见是在开发的过程中,开发组中每个人都要写技术博客,做完了项目,就可以总结啦~~哈哈..我也想在这次来做一次实践.
celine 2008-02-20
LZ说的重用管理的意思应该是是技术方面的,组件、平台的重用吧

对于管理的重用,我们倒是通过某些模板、制度做到了一定程度上的重用,但是我们是有专门的庞大的管理项目管理的部门
公司规模在1k人以下,我觉得根本没有必要做这样的投入,顶多搞点经验交流

技术上的重用,一样,规模小的公司,先活命再说,业余组织有兴趣的一起研讨研讨可以

一蓑烟雨任平生 写道
evanyuan 写道
重用管理的话,搞个PMO (参看 http://blog.csdn.net/crownconsulting/archive/2008/01/02/2010252.aspx),把Project Manager作为一个pool,搞一个leader,负责制定些规章制度和PMO组织发展计划,定期不定期把PMs召集起来。

从哪本书里抄过来的吧,你在哪个公司成功实施过?能够这么做的条件是什么?
neptune 2008-02-19
做项目的,特别是做政府就是要饭。很难有大的发展,除了你的老板都别N,单子一个接一个的每个都在500万以上。
seadragonnj 2008-02-18
你所设想的这种情况很难,特别是目前国内这种浮躁的氛围下,

一般比较大的公司倒是有这样的部门,但他们一般都会让你很失望的,
yangjuqi 2008-02-18
大家说的都有道理,但是怎样才能结合自己公司的实际情况开展重用管理和技术研究等工作呢?毕竟大多数企业都在做项目,怎样能在合同约定的时间内,采用比较成熟的框架和技术完成项目,是公司上下最关心的问题.
对于大一些的公司,完全可以成立专门的研发组或部门开发新的框架,维护和改进老的框架,同时对一些项目中通用的组件进行标准化;而对于小的公司还不具备这样的实力,作为技术经理或技术总监至少应该认识到这方面问题,并指定专人或者自己,利用空闲时间做一些积极的工作.总之,东西是死的,人是活的,灵活运用就是了.
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

gurudk
搜索本博客
最近加入圈子
存档
最新评论