在问答频道和大家聊过的关于项目开发的技术选择,觉得有些乱,于是搬来这里,重新整理下。
在软件公司,搞技术的都喜欢尝试新的技术,做管理的又都整日里盯着成本不能放松。矛盾和冲突应该会时不时就会发生。自己就曾向做管理的嚷嚷:“不尝试,永远都不会,永远都落后!”;也曾心里犹豫最终向¥妥协,反过来劝别人:“要不,这次还是先用以前的架构吧!”
通常考虑尝试新技术的应该大多都是架构师(对各种叫法不是很清晰,这里是按自己习惯的称呼。),好的架构师不可或缺的一项技能,就是:“说服别人!”
只你认为好没有用,说服大家都觉得好才成。那句话怎么说来着,“大家好才是真的好!”
成本控制,这个是技术人员看不起但心里也承认至少在发工资奖金时承认对项目乃至公司都至关重要的内容。所以你要说服做管理的,也要站在对方的角度——成本控制上来讲才行。
(说起来,想要说服任何人都得这么着才可能有效。)
比如,你想要选择iBatis时,
- 说iBatis比hibernate性能好。
性能好?完了吗?如果说到这就完了的话,技术人员可能会被说服,做成本控制的根本不会被说服。
考虑成本控制的话这么说:“这个项目对性能有要求,如果上hibernate的话,会在性能调试上花很多工数;如果上iBatis的话,可以节省很多工数!”
工数 = $,对方就被K.O.了!哈。
- 谈到更换技术有一定的风险。
这个很对的,的确有风险。
要说服他,你可以讲iBatis也有成熟社区,有大量用户等等。他认为的风险有哪些,1,2,3列出来,你一一作答就好了。
如果你是名合格的有经验的架构师,甚至应该自己先列出1,2,3来,自问自答,他再也无话了。
我以前的经验是,
- 谨慎选择技术。 比如,最新的技术不可以;生僻的技术不可以;活跃度低的不可以等等。
- 事先培训。 可以通过某些项目事先让大家掌握该技术。比如,研讨性质的,小的,时间充裕的等等。
- 挑选切换的时机。 在上面的条件满足之后,应该能够积累出一个可以用来正式开发的架构以及足够的人力资源了。然后——通常都是——在某个新的项目上应用它。
如果能做到以上这些的时候,你就不是在冒险尝新,而只是从既有架构中根据需求选择哪个。理想状态下,甚至都没有必要还要去说服谁了。
最后,就是队员培训,短期看有投入无产出,长期看在面临各种复杂需求时能够灵活应对,能节省更多的工数。当然,这些都是基于正经做公司的情况。
注:iBatis现在叫MyBatis。但我觉得iBatis要更酷些。
分享到:
相关推荐
软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文技术档下载软件项目开发文档.zip程序开发文档软件开发文...
然而,软件项目的成功不仅仅是依赖于编程语言和开发技术的先进性,更多的是依赖于科学有效的项目管理。项目管理中的关键工具之一,就是项目管理文档。一个完善的项目管理文档体系可以为软件开发的每个环节提供清晰的...
### C#项目开发中的关键技术点 #### 面向对象编程(OOP) C#支持面向对象编程,这意味着开发者可以定义类、继承、封装和多态等特性来组织代码,使得程序结构清晰、易于维护。 #### 数据库操作 在大多数C#应用项目...
8. **团队协作与沟通**:项目开发不仅仅是技术实施,团队间的协作和沟通同样关键。报告中应包含团队分工、会议记录、问题解决的过程,展示团队如何协同工作以达成目标。 9. **项目管理工具**:项目管理工具如Jira、...
项目开发计划书是每个IT项目启动初期至关重要的文档,它为整个项目的实施提供了明确的指导和蓝图。这个通用模板旨在帮助项目经理和团队有效地规划、组织和执行项目,确保项目的顺利进行。以下是对这个主题的详细解释...
对于项目开发中的开发背景、需求分析、功能分析、数据库分析和设计、系统开发到系统的部署和运行,每一个过程都进行了详细介绍。 本书DVD光盘内容丰富,包括超过40个小时的配套视频、PPT教学课件、超过3000页的技术...
《软件项目技术开发(委托)合同》是企业在进行软件开发过程中常用的一种法律文件,它明确了委托方与开发方之间的权利和义务,确保项目的顺利进行。本文将深入探讨合同中的关键要素,包括签约流程、付款安排、项目...
在《Java项目开发实战案例》这个资源中,我们聚焦于Java技术在实际项目中的应用,通过具体的案例来深入了解系统开发的全过程。这个实战教程旨在帮助开发者掌握从需求分析到项目落地的各项技能,涵盖数据库设计、前后...
1. 技术方案:评估投标方的技术实力,包括软件架构设计、开发语言选择、技术平台和工具的使用等。这需要投标方具备扎实的技术基础和丰富的项目经验。 2. 项目管理:评审投标方的项目管理能力,如是否能提供详细的...
《软件项目开发总结报告》是一份详实记录软件开发过程及其成果的重要文档,它涵盖了项目的整个生命周期,包括从启动到结束的各个阶段。本报告由作者XXXXX在2009年12月完成,旨在对进销存管理系统的开发进行回顾与...
- **项目开发组组成及各成员职责分配方案**:明确了项目工作方法、项目组织结构、关键人员简历等。 - **项目管理方案**:涵盖了项目例会、文档评审、项目风险控制、项目质量管理等方面的内容。 - **项目实施方案**...
通过这些项目实战,你不仅能够掌握C#的语法和技术,还能提升解决问题的能力,理解软件开发的整个生命周期,从而成为一个全面的C#开发者。所以,不要错过这个宝贵的学习资源,动手实践,提升你的C#技能吧!
在Java项目开发中,验收与交接是至关重要的环节,确保项目的质量和稳定性,同时为后续的维护和升级奠定基础。此"java项目开发验收交接整套模板"提供了全面的指导材料,帮助开发者和团队规范地完成这一过程。以下是...
广州市城市开发建设项目海绵城市建设——洪涝安全评估技术指引.doc
图书管理系统项目开发计划书旨在为信息与电子工程学院计算机科学与技术专业的学生提供一个清晰、详尽的开发框架,以实现一个高效、易用的图书管理系统。项目名称为“图书管理系统”,其主要目标是设计并实现一个能够...
在项目开发的全过程中,有许多关键环节和技术细节需要掌握,以确保项目的顺利进行。下面将对这些重要步骤和相关知识点进行详细的阐述。 首先,项目开发始于需求分析。在这个阶段,团队需要与客户或利益相关者深入...
首先,技术方案是软件开发的蓝图,它定义了项目的整体架构、设计原则、开发流程、工具选择以及预期的技术挑战和解决方案。在华为这样的大型企业中,技术方案通常经过严格的审查和优化,以确保项目的高效执行和质量...
在IT行业中,项目开发计划书是软件开发过程中的重要文档,它为整个项目的实施提供了蓝图。这份详尽的计划书通常包含多个关键组成部分,旨在确保团队高效、有序地完成任务。下面将对"项目开发计划书"的主要内容进行...
在深入体验C#项目开发的过程中,源代码是学习和理解编程思想、设计模式和技术实现的关键。C#作为Microsoft .NET框架的主要编程语言,被广泛应用于桌面应用、Web应用、游戏开发以及移动应用等多个领域。本资源包含了...