项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 博客 圈子

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

论坛
价值源于交流与分享
会员区:
登陆ID 密  码
功能区: 公告建议 | 帖子搜索 | 管理团队 | 荣誉版主 | 帮助手册






 项目型组织  项目管理  工程项目  科技项目  项目化管理  管理软件  资格认证  职业休闲
EPM体系与流程 综合集成管理 总承包管理 IT软件开发 项目型制造 P3E/P6 PMP | PgMP 职业发展探讨
组织与人力资源 进度,范围,成本 国际工程 生物制药 专业服务 微软PROJECT IPMP | PRINCE2 管理学堂
项目管理信息化 团队建设与沟通 房地产 汽车设计开发 生活项目 PowerOn专版 软考项目管理 英语角|读书版
多项目与大项目 质量与风险 监理与咨询 手机数码 文体娱乐 注册建造师 房车吃游
PMO建设与管理 采购与合同 工程设计 项目管理硕士 闲聊版|商务版
俱乐部北京 | 大连 | 福州 | 广州 | 杭州 | 南京 | 山东 | 上海 | 深圳 | 四川 | 天津 | 武汉 | 西安 | 郑州 | 申请成立 TOP榜精华 | 最新 | 最热 | 会员

版面信息

说明:失败的IT项目比比皆是,进度延迟,预算超支,客户需求多变,成员加班抱怨...IT项目(软件开发.,信息系统实施等)寻求新生

本版版主

camer
登录:2013/7/2
次数:867
注册:2003/3/3
发帖:2745
dorothy
登录:2016/12/15
次数:804
注册:2004/9/6
发帖:993
steveli2008
登录:2009/5/26
次数:464
注册:2003/5/12
发帖:1026
zhf_karen
登录:2015/6/2
次数:346
注册:2005/6/13
发帖:469

俱乐部导航

北京大连福州广州杭州
南京山东上海深圳四川
天津武汉西安郑州 

联盟·近期活动

社区热点

华师大CTO学院:科创生态建设与创.
宏发电声江玫瑰谈PgMP:“下好一盘.
PgMP:交付能力与创造未来的项目管.
开放讲座|《项目组合管理与PfMP认证
开放讲座|项目组合管理与PfMP认证
开放讲座|PgMP:项目管理思维与方法
开放讲座|《项目组合管理与PfMP认证
网络讲座|《项目组合管理与个人职业
开放讲座|《项目组合管理与PfMP认证
网络直播|产品经理的四大核心技能提

精彩专题

如何做好项目沟通计划

软件项目质量管理

国际工程索赔与反索赔

更多:

推荐信息

·项目经理沙龙俱乐部
·推荐项目管理公开课程
·联盟VIP会员服务
·联盟99元大课堂
·建造师课程辅导免费试听

社区圈子

集团企业生态体.
圈主:ETPPM
行业:综合应用

生态系统体系下.
圈主:ETPPM
行业:综合应用

西安IT项目管理
圈主:muzud
行业:IT软件

房地产项目管理
圈主:13935823
行业:房地产

企业项目管理体.
圈主:zhenjm
行业:综合应用

联系社区管理员

咨询电话 010-82273401/11
斑竹申请 admin@mypm.net


版权所有 © 2003-2004
京ICP证070584号 
BBS业务许可2007第353号 
最佳显示模式:1024*768像素
项目管理与PMP认证
软件开发文化与生产力相关的思想 [发表于 2014/11/11]
状态 开放帖 浏览量 2228   
该帖子同步发自圈子:软件项目管理 (访问该圈子)

  软件开发文化是一个需要亲身体验才能明白的事物。本文作者分享了对自己的企业开发文化的理解,以及生产力相关的一些思考心得。

  每个软件企业都有自己的开发文化,各自有所不同。在这篇博文中,flashing介绍了自己对开发文化的理解,并分享了提升生产力的心得。

  最近听到过多起软件行业“项目经理”的故事了,其实就是能堆砌几个技术框架用用;或者动辄就说自己写什么框架,然后谈论说struts2等框架如何如何慢云云来忽悠菜鸟,于是写出此文,谈谈想法。

  o OSGi服务:非常适合SOA的架构

  o LINQ架构简单描述

  o Hibernate流行架构浅析

  o 详述Hibernate架构(Architecture)

  o 无框架架构模型探讨:简化的Java EE开发

  淘bao用开源,微软用自己的东西,金山什么都用,Google、IBM和ORACLE以及JBOSS则全力支持OpenSource,诸多公司,我也不细评了,从最终产品运行效率看,微软最差,Windows Live系列的产品慢的不成样(最近几个月才略有改观),反倒是用开源的一个比一个快;看看google和淘bao。所以说,没有什么快慢,只是用的人如何。

  管理也好,技术也好,都是渗透着一种文化,而这种文化以及文化背后的可操作性的东西,不亲身体验,是永远无法学会和想明白的。

  说说我们公司的软件开发文化吧。

  首先是最为本质的东西,作为软件企业,我们追求什么?答案很简单:第一是生产力,第二是可维护性(所谓的可维护性里面包括了可扩展性),第三是精英团队。

  这里解释一下,为什么1,2,3是这样的顺序而不是其他。

  首先我们是一家公司,正如杰克韦尔奇所说,任何一家公司和企业,第一目标是利润,永远不能偏离这个目标;而这也是一切其他文化的基础。一个简单的例子,20万的项目,20个人月和5个人月的成本差异显然是巨大的,而我们的目标则要努力压缩这个人月的数字以期最大化利润;而最大化的利润也意味着员工的薪水空间和企业的高速成长。而可维护性意味着在团队人员流动以及新人加入时,可以有无缝接替;或者客户需求变更或者架构提升时,可以几乎无痛的切换。第三点精英团队,并非是找一堆清华的高材生,而是一个成长型的,真诚团结并且务实的团队。我们要做的是让一群聪明年轻人成长为精英,让他们拥有切实的能力和自信,从而立足于一个行业并受到同行和客户的尊敬。可能有人会问,为什么不提用户?我想说的是:任何一家企业,都必须尊重用户,而也只有精英团队,才能真正的为客户提供高质量产品和服务,而不是每天生活在抱怨和混乱的项目开发中。

  那么我们如何实现这些文化呢?

  首先我们讲生产力的话题。作为我本人来说,我对各种新技术都喜欢研究一下,但是极少高度深入;作为“架构师”的角色,我喜欢把这种研究的氛围推广。不过研究归研究,如果要应用到项目中那还是有原则的,比如:A.不能简化代码量的,不用;B.难以上手的,不用;C.不稳定的,不用;D.自己造轮子的(缺乏可持续维护),不用。

  基于这几个原则,目前热门技术中,我们不用EXT或者Flex,因为它违反了A和B;不用ibatis,因为违反了A;不用GWT,因为违反了B;基本不用微软的方案,因为很多MS的方案都违反C;而不自己造轮子,尽量基于标准的Spring/Struts2/Hibernate框架,则是处于人员更迭和维护的考虑,具体可参考J2EE design and development without EJB;我也后悔用Mina,因为缺乏持续性的维护,这方面显然不如netty和grizzly。

  那么我们使用什么呢?为了简化代码量,我们使用了Springside的方案,提供了最简单实用的CRUD和Web分页以及复杂查询方案;并更进一步的使用了Sitemesh,从而最大成度的屏蔽了绝大多数开发人员和HTML/CSS打交道的机会;这样也不用在EXT和FLEX间折腾了;Struts2的Convention插件提供了足够简单(我认为不是最)的Web映射机制,可以大量减少配置;Spring则提供了声明性事物(基于Aspectj或者元数据声明),对象依赖的自动装配,以及未来可扩充(暴露服务)框架;而对Hibernate的深入理解,可以解决绝大多数情况下的存储问题;当然我们从来不搞绝对化,特殊情况特殊处理,该JDBC直接操作的时候我也绝不会滥用Hibernate。另外,对多线程编程、锁机制、网络以及底层IO的精通,这些都成为团队可以在项目中快速前进的优势。

  当然如何来衡量呢?

  比如Hibernate,如下几个问题:1,什么是ThreadLocal,Hibernate如何结合ThreadLocal?2,你能马上说出来inverse和cascade关系,cascade种类以及差异吗?3,Hibernate什么情况下,会产生inner join,什么情况下会产生outer join?可以强制吗?什么架构的情况下应该避免一对多和表连接?

  如果你能快速的不查资料的回答上来这几个问题,那么我相信你绝对不会讨厌Hibernate,也绝对不会有常见的使用上的困惑。比如Hibernate结合Hibenrate search和solr,可以用最少量的代码为我们带来高效的企业级海量数据检索。

  另外,为了提升生产力我们还采取了Scrum的开发模式,并结合XP,推崇TDD,从UnitTest到selenium都是团队工作必不可少的亲密伙伴(这么多年来实在厌烦了V字形的传统模式,以及一堆堆的文档),我们鼓励写清洗的代码,代码就是文档,注释就是需求。我们使用了CI工具,比如 hudson或者bamboo;使用jira或者trac来让每个成员明确项目每个迭代中的目标,考虑到我们是年轻的团队,发布周期一般是2周而不是更长;使用maven(部分结合ant)来做项目生命周期管理,使用firebug来进行各种web相关内容的调试和测试,虽然很少提及但是我们熟悉 Linux以及各种分布式解决方案……

  诚然,工具和框架的堆砌并非可以达到目标,必须让这些实践和其中蕴含的价值观深入人心,才可能让这一切产生威力。我们从很早就开始推行的代码价值观,比如优先处理错误,变量命名规则,代码书写的规则和技巧,和最近我看到的thoughtworks文集中提到的几乎完全一样;这些“最佳实践”构成了团队务实的开发理念。

  总结性的说,上面提到的一切,新技术,敏捷,过程改进,其实都是为了能够产生生产力的“最佳实践”。

  当然,空谈永远难以解决问题,技术上的务实和有效评估并提出方案才是王道。比如文章开始提到的struts2性能问题,作为我们的解决方案,会是:首先评估项目规模,评估每秒的并发request数,用ab等工具来评估时间最长的几个action,使用jprofiler等工具来查找本地瓶颈并解决(比如sql缺乏优化,多表连接等带来的性能问题),使用ehcache并做gzip压缩来处理网络传输上的问题。

  那么有了这些,团队就有战斗力了吗?答案并非“不”,而是“不确定”。一个稳定而高效的团队,团结,有责任心,正直而勤奋,彼此信任但不依赖,各种优秀品质必须存在于每个人身上。术业有专攻,但是品行不可能有差异,一个新人,要么同化,要么离开,没有第三种选择,这也是我们为什么更喜欢可塑性更强的年轻人的原因。这一切如何产生呢?我们的原则是在中国,我们相信企业文化来自于老板,来自于“带头大哥”,言传身教决定了这一切;所以对中层人员的提拔是必须绝对谨慎的,这会影响整个公司的价值观和未来方向。

  最后,推荐几本书,我相信思想的变化比学几样技术更能提升一个人的价值,而这些提升,大多来自于书籍。

--------------------------------------------------------------------------------------------------------
项目管理是最好的执行力
>>> 由论坛统一发布的广告:
楼主 美女约,不在线,有人找我吗?铁托


职务 无
军衔 主帅
来自 安徽省
发帖 1460篇
注册 2006/4/30
PM币 19794
经验 8605点

  
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号