在问答频道和大家聊过的关于项目开发的技术选择,觉得有些乱,于是搬来这里,重新整理下。
在软件公司,搞技术的都喜欢尝试新的技术,做管理的又都整日里盯着成本不能放松。矛盾和冲突应该会时不时就会发生。自己就曾向做管理的嚷嚷:“不尝试,永远都不会,永远都落后!”;也曾心里犹豫最终向¥妥协,反过来劝别人:“要不,这次还是先用以前的架构吧!”
通常考虑尝试新技术的应该大多都是架构师(对各种叫法不是很清晰,这里是按自己习惯的称呼。),好的架构师不可或缺的一项技能,就是:“说服别人!”
只你认为好没有用,说服大家都觉得好才成。那句话怎么说来着,“大家好才是真的好!”
成本控制,这个是技术人员看不起但心里也承认至少在发工资奖金时承认对项目乃至公司都至关重要的内容。所以你要说服做管理的,也要站在对方的角度——成本控制上来讲才行。
(说起来,想要说服任何人都得这么着才可能有效。)
比如,你想要选择iBatis时,
- 说iBatis比hibernate性能好。
性能好?完了吗?如果说到这就完了的话,技术人员可能会被说服,做成本控制的根本不会被说服。
考虑成本控制的话这么说:“这个项目对性能有要求,如果上hibernate的话,会在性能调试上花很多工数;如果上iBatis的话,可以节省很多工数!”
工数 = $,对方就被K.O.了!哈。
- 谈到更换技术有一定的风险。
这个很对的,的确有风险。
要说服他,你可以讲iBatis也有成熟社区,有大量用户等等。他认为的风险有哪些,1,2,3列出来,你一一作答就好了。
如果你是名合格的有经验的架构师,甚至应该自己先列出1,2,3来,自问自答,他再也无话了。
我以前的经验是,
- 谨慎选择技术。 比如,最新的技术不可以;生僻的技术不可以;活跃度低的不可以等等。
- 事先培训。 可以通过某些项目事先让大家掌握该技术。比如,研讨性质的,小的,时间充裕的等等。
- 挑选切换的时机。 在上面的条件满足之后,应该能够积累出一个可以用来正式开发的架构以及足够的人力资源了。然后——通常都是——在某个新的项目上应用它。
如果能做到以上这些的时候,你就不是在冒险尝新,而只是从既有架构中根据需求选择哪个。理想状态下,甚至都没有必要还要去说服谁了。
最后,就是队员培训,短期看有投入无产出,长期看在面临各种复杂需求时能够灵活应对,能节省更多的工数。当然,这些都是基于正经做公司的情况。
注:iBatis现在叫MyBatis。但我觉得iBatis要更酷些。
分享到:
相关推荐
软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文...
六盘水大河经济开发区落飞嘎安置小区项目技术标.zip施工组织设计住宅工业建筑结构工程建设项目施工方案技术交底资料下载六盘水大河经济开发区落飞嘎安置小区项目技术标.zip施工组织设计住宅工业建筑结构工程建设项目...
在《Java项目开发实战案例》这个资源中,我们聚焦于Java技术在实际项目中的应用,通过具体的案例来深入了解系统开发的全过程。这个实战教程旨在帮助开发者掌握从需求分析到项目落地的各项技能,涵盖数据库设计、前后...
《无线短距离通信技术开发项目教程》教学课件—02 ZigBee无线传感网入门.pdf《无线短距离通信技术开发项目教程》教学课件—02 ZigBee无线传感网入门.pdf《无线短距离通信技术开发项目教程》教学课件—02 ZigBee无线...
《软件项目开发总结报告》是一份详实记录软件开发过程及其成果的重要文档,它涵盖了项目的整个生命周期,包括从启动到结束的各个阶段。本报告由作者XXXXX在2009年12月完成,旨在对进销存管理系统的开发进行回顾与...
- **项目开发组组成及各成员职责分配方案**:明确了项目工作方法、项目组织结构、关键人员简历等。 - **项目管理方案**:涵盖了项目例会、文档评审、项目风险控制、项目质量管理等方面的内容。 - **项目实施方案**...
1. 技术方案:评估投标方的技术实力,包括软件架构设计、开发语言选择、技术平台和工具的使用等。这需要投标方具备扎实的技术基础和丰富的项目经验。 2. 项目管理:评审投标方的项目管理能力,如是否能提供详细的...
通过这些项目实战,你不仅能够掌握C#的语法和技术,还能提升解决问题的能力,理解软件开发的整个生命周期,从而成为一个全面的C#开发者。所以,不要错过这个宝贵的学习资源,动手实践,提升你的C#技能吧!
IT软件项目开发的实施具体技术方案.doc
广州市城市开发建设项目海绵城市建设——洪涝安全评估技术指引.doc
在项目开发的全过程中,有许多关键环节和技术细节需要掌握,以确保项目的顺利进行。下面将对这些重要步骤和相关知识点进行详细的阐述。 首先,项目开发始于需求分析。在这个阶段,团队需要与客户或利益相关者深入...
产品项目功能需求规格说明书模版V1.0.zip程序开发文档软件开发文技术档下载产品项目功能需求规格说明书模版V1.0.zip程序开发文档软件开发文技术档下载产品项目功能需求规格说明书模版V1.0.zip程序开发文档软件开发文...
在深入体验C#项目开发的过程中,源代码是学习和理解编程思想、设计模式和技术实现的关键。C#作为Microsoft .NET框架的主要编程语言,被广泛应用于桌面应用、Web应用、游戏开发以及移动应用等多个领域。本资源包含了...
内容概要:本文讨论了毕业设计项目开发中的技术现状与挑战,涵盖项目选题、开发工具选择、硬件与软件协同、系统架构设计以及代码与文档管理五个方面。强调了项目选题的重要性,提出了技术瓶颈及相应的改进建议。文中...
在这篇文章中,作者回顾了自己在Java开发领域三年的工作经历,期间参与了三个不同的项目,从中获得了丰富的实战经验和技术积累。这三个项目分别是涉密项目、政府项目以及深圳市政府的大型无纸化办公系统项目。 ####...
XXPLM项目 二次开发需求规格说明书V0.7.zip程序开发文档软件开发文技术档下载XXPLM项目 二次开发需求规格说明书V0.7.zip程序开发文档软件开发文技术档下载XXPLM项目 二次开发需求规格说明书V0.7.zip程序开发文档软件...
该技术方案书模板提供了软件项目投标的全方面指导,涵盖了软件设计各阶段相关文档目录、软件项目的范围、总体要求、软件开发平台要求、软件项目的开发实施过程管理要求、软件开发等方面的内容,对软件项目经理和开发...
Android项目需求文档模板.zip程序开发文档软件开发文技术档下载Android项目需求文档模板.zip程序开发文档软件开发文技术档下载Android项目需求文档模板.zip程序开发文档软件开发文技术档下载Android项目需求文档模板...
这个包包含的不仅是项目源代码,还有相应的开发文档,这对于理解和学习项目开发流程、技术架构以及代码实现逻辑至关重要。下面将详细讨论这些知识点。 首先,Java项目开发通常涉及多个阶段,包括需求分析、设计、...