IT项目成本控制方案如何提高效率降低成本

企业实施IT优化可以降低成本 用于创新
来源:搜狐IT
  6月6日,IBM在京召开2007 IBM IT优化论坛。 这次题为“泰然坐看云起 轻松跨越巅峰”的业界盛会旨在通过IT优化这一手段,帮助IT经理解决他们工作中实际面临的持续压力和挑战。
  对日益复杂的IT进行优化,从而保持企业的竞争优势是各行各业的IT经理人持续关注的热点问题之一,此次论坛因此吸引了几百位IT经理人来到现场参加,会议气氛相当热烈。
整个论坛为期一天,上午集中分享了IT优化的重要趋势和在中国的发展状况。IBM大中华区副总裁及系统与科技事业部总经理何国伟先生进行了关于IT优化的重要分享。下午分为三个分会场,IBM的各路专家分别就系统简化和虚拟化、IA架构系统优化和创建动态高效的IT环境的相关技术进行了更加深入的探讨。
  随着IT基础架构变得越来越复杂,有效控制和管理 IT 系统的运营成本已变得越来越困难。信息孤岛增多,宕机不断发生,预算压力日益加剧都是IT复杂化带来的问题。最严重的问题是大量IT 资源流向运营工作,导致只有较少的资源可用于扩展业务应用和服务。 IT经理的工作也因此受到很大改变——他们无法把有限的精力投入到如何运用IT技术支持业务创新的方面,而是充当着“救火队员”的角色
  IBM大中华区副总裁及系统与科技事业部总经理何国伟先生表示:“IBM一直以来都在不断创新来帮助企业和IT经理人来获得成功。根据我们的观察与调研,IT优化是IT经理目前最迫切需要解决的问题之一。在这一领域,虽然业界已经出现了一些这样或那样的从产品或者技术出发的局部性解决方案。 但是缺乏真正从企业的角度出发,充分利用和调动包括软件、硬件和服务等先进技术和资源,在整体上对IT优化的思路和解决方案。IBM此次的IT优化论坛不仅有特别的技术和产品,更从整体的思路上进行了梳理,从企业业务的角度提供了一系列解决方案,最终协助企业创建动态高效的IT基础设施。”
  在IBM看来,IT优化可以归结到三个主要的层面包括资源优化,能源效率和动态高效。企业通过虚拟化技术,可以进行硬件基础架构的资源优化,来简化系统复杂性,提升系统利用率和运行效率;利用软件和管理系统可以搭建一个动态的基础设施,既能保障系统高可靠性和高稳定性,又能灵活应对各种变化及需求,提供高质量IT服务,达到动态高效;通过更有效地管理电源、散热和机房空间,利用节能的产品和技术,可以大幅度降低系统的能源消耗,有效提升能源效率。
  在资源优化方面,以现有的数据中心客户为例,IT 基础设施常不能满足IT经理的期望值,例如资源利用率低下, 系统环境高度复杂, 高峰期响应速度慢、执行任务速度慢、应用交付速度慢甚至影响数据库性能等。IBM的服务器、存储产品和虚拟化技术能够营造出三个优势:简化IT 基础设施的管理、动态再分配资源以及降低总体拥有成本。IBM最新发布的POWER6系统再一次证明了IBM在虚拟化技术上一直以来的领导者地位。
  在能源效率方面:根据IDC的报告,相对于每一美元的计算机硬件成本来说,花在了电力使用上的钱大约是50美分。有鉴于企业数据中心能源需求和能源成本的急剧增加,IBM 公司宣布启动一项每年斥资10亿美元的业务计划,以显著提升企业的IT能效水平。IBM全球信息科技服务部数据中心及智能化集成服务副总裁Steven Sams表示:“作为一个始终以价值为导向的公司,IBM致力于开发创新的技术和服务能力,以协助客户解决各种挑战性的问题。作为‘绿色数据中心’这一新兴市场的领先者,IBM可以为客户提供端到端的绿色数据中心解决方案,以协助客户全面应对能效挑战。IBM“绿色创新工程”所能带来的能源节约相当可观:一个面积为25000平方英尺的数据中心可减少多达42%的能耗。”
  在系统的动态高效方面:IDC研究报告显示,运营劳动力成本在IT预算中所占比例越来越多,且运行管理成本的增长速度甚至超过了设备成本增速。 IBM的答案是建立面向服务的IT运行管理,它包括对象管理,组件管理,运行管理和IT服务管理四个层次,真正从业务的角度来规划和管理IT,使企业的IT系统由混乱、被动地应对问题,转变为主动发现问题、为业务创造价值。
  综上所述,企业在实施IT优化后,企业能够更加快速部署应用,提高响应市场变化的灵活性、可靠性和能力。同时,IT 优化解决方案可帮助企业降低现有 IT 基础设施的成本,企业随后可将这部分费用投资用于创新,以便提高公司的营业绩效。
(责任编辑:romp)
隐藏地址 
设为辩论话题
火炬新动态 胡锦涛访日 山东火车事故 奥运安全 辱华事件
大米涨价 楼盘降价 手足口病 罕见日食
缅甸风暴 失业率
肥田喜事 火影忍者 我的团长我的团
林心如专辑
我的青春谁做主
潜伏 黑执事 新进职员 咖啡王子1号店 纸醉金迷
我的帅管家
周润发电影全集 郭德纲经典相声
热点标签:
相 关 说 吧
说 吧 排 行
上证指数(77445)
李宇春吧(104510)
茶 余 饭 后[原创]IT规划:达成共识,规避风险,降低成本 - AMT咨询
- 畅享博客
|收藏博客|加入友情链接|给博主留言
AMT咨询关注企业管理+IT领域最新动态,最热话题,共享实践,共同成长!
[原创]IT规划:达成共识,规避风险,降低成本
[原创]IT规划:达成共识,规避风险,降低成本
彭一经历了信息化建设的种种波折,越来越多的中国企业拿起了“IT规划”这个武器。因为,他们认识到,信息化具体项目的实施,是在深刻理解关键的企业目标、企业如何达到目标、信息系统如何支撑、IT及其管理如何支撑信息系统之后的事情。&信息化建设涉及到的问题呈现出明显的非线性:战略是否明晰、流程是否合理、组织架构的敏感、信息孤岛的存在、应用人员的态度/素质、技术选用的评价标准等等,尽量减少甚至消除这些方方面面的问题,这就是IT规划的作用。这是一个不断采集意见、论证探讨的过程,主旋律就是:沟通、沟通、再沟通。&管理信息化的最大风险之一,莫过于选择了并不适合的应用系统!经由中立咨询公司的帮助,进行战略明晰、管理诊断、流程优化、信息系统架构/功能/流程/决策报表设计,可大大降低风险。&很多企业从有信息化的意识到选择软件厂商经常经历较长的时间。IT规划可帮助企业很快得到真实的信息和方法,迅速解决问题。同时,中立咨询公司在信息系统架构、信息化预算分析、实施过程建议方面给企业提供专家建议,协助进行商务谈判,在不损害项目质量的前提下,直接降低项目成本。&&本文原载于AMT《前沿论丛》2003年8月刊<div class="votes" id="Score
查阅更多相关主题的帖子:
下一篇:上一篇:
您还未登录,不能对文章发表评论!请先论文发表、论文指导
周一至周五
9:00&22:00
浅谈软件开发项目的成本控制
  摘要:对软件开发项目成本的组成及影响因素进行了分析,并从四个方面探讨了软件开发项目成本控制过程中的主要问题,最后得出软件开发项目成本控制的策略。 中国论文网 /2/view-396683.htm  关键词:软件开发;成本控制;策略   中图分类号:F275.3文献标志码:A文章编号:10)27-0111-02      一、问题的提出   21世纪是信息社会高速发展的世纪,软件作为信息技术的核心,起着至关重要的作用。软件开发项目成本的控制对软件开发项目的成功与否有着至关重要的影响。   软件开发项目和传统产品生产和工程项目相比具有典型的特殊性。首先,软件产品的研制与生产往往密不可分,产品研制成功则意味着产品生产基本完成。因此,软件开发的整个过程都是设计过程,不需要大量的物质资源,而主要是人力资源,软件开发的产品以程序代码和技术文档为主,并没有其他的物质成果;其次,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。   软件开发项目的特殊性决定了软件开发项目成本控制的特殊性。如何立足于这一特殊性搞好软件开发项目的成本控制,是信息产业领域成本管理的一个重要课题。为此,本文试图从软件开发项目成本的影响因素分析入手,对软件开发项目成本控制策略进行探讨。   二、软件开发项目成本的组成及影响因素分析   1.软件开发项目成本的组成。软件开发项目成本主要由以下四个方面构成:(1)人力资源成本:与项目人员相关的成本开销,包括项目成员工薪和红利、外包合同人员和临时雇员薪金、加班工资等。(2)资产类成本:资产购置成本,指产生或形成项目交付物所用到的有形资产,包括计算机硬件、软件、外部设备、网络设施、电信设备、安装工具等。(3)管理费用:用于项目环境维护,确保项目完工所支出的成本,包括办公室供应、房屋(租金,设备)、支持服务等。(4)项目特别费用:在项目实施以及完工过程中的成本支出,包括:训费用和准备费用等费用。   2.软件开发项目成本影响因素分析。(1)项目质量对成本的影响。一般情况下,项目质量分别从质量故障维护和质量保证措施两个方面对成本产生影响。排除产品故障、保证产品重新恢复功能的发生的费用形成成本;提高产品质量发生的费用也产生成本。这二者之间的关系是相互矛盾,相互成反比的。项目质量越低,前期投入故障排除的成本越低,质量不合格引起的损失越大,维护成本就会增加;项目质量越高,故障少,前期投入故障排除的成本提高,那后期维护成本就会降低。(2)项目工期对成本的影响。对于软件开发项目,工期的长短对项目的成本影响很大,表现在两个方面:一方面是项目经理部为了保证工期而采取的措施费用,当工期缩短时,需要更多的、技术更高的团队成员,也需要投入更密集的硬件成本,直接成本就会增加。另一方面是因为工期拖延而导致的业主索赔成本,亦可称其为工期损失。(3)人力资源对成本的影响。人力资源的素质也是影响成本的重要因素,对高技能、高素质的项目团队成员,其自身的人力资源成本是比较高的,但对应的工作效率、产品质量、工期的长短等指标上的优势更是显而易见的,而且从总体上能降低成本;对一般人员还需要技术培训,相对而言工期会延长,工作效率也会变低下,甚至要雇佣更多的人员参与,造成成本的增加。(4)价格对成本的影响。中间产品和服务,市场人力资源、硬件、软件的价格也对成本产生直接影响,对项目的成本估算影响也很大。   三、软件开发项目成本控制存在的主要问题   1.项目成本管理体制存在的问题。很多软件企业现行的软件开发项目成本管理体制没有很好地将责、权、利三者结合起来,有些项目经理部简单地将项目成本管理的责任归于成本管理主管,没有形成完善的成本管理体系。   2.项目人员观念存在的问题。目前,中国软件项目人员大多具有软件开发专业技术背景,但是普遍缺乏经济观念,成本意识淡薄,特别是项目不单独核算的企业,项目经理职能更偏重于技术而非管理,简单地将项目成本管理的责任归于财务部门。   3.质量成本控制存在的问题。质量成本是指为保证和提高软件质量而发生的一切必要费用,以及因未达到质量标准而蒙受的经济损失。长期以来,中国软件企业未能充分认识到质量和成本之间的辩证统一关系,习惯于把质量与成本对立起来。有的项目经理在成本缺乏硬约束的情况下,强调软件质量,就对项目成本关心不够,造成质量虽然有了较大提高,但增加了提高质量所付出的质量成本。有的项目经理在成本约束的条件下,片面追求经济效益而忽视质量,虽然就单个项目而言,利润指数可能提高,但是因质量标准而付出的额外质量成本,既会增加成本支出,又会对企业信誉造成很坏的影响。   4.工期成本控制存在的问题。工期成本是指为实现项目工期目标而采取相应措施所发生的一切费用。工期目标是项目管理三大主要目标之一,软件企业能否实现合同工期往往会引起成本的变化。中国软件企业虽然对项目工期有明确的要求,但对工期与成本的关系很少进行深入研究,常对工期成本的重视不够,对工期存在认识上的误区,普遍认为越早越好,有时会盲目地赶工期要进度,造成项目成本的额外增加。   5.风险成本控制存在的问题。风险成本是指项目的不确定因素导致的项目风险。在项目成本管理中,很少考虑项目风险和潜在的风险成本,而风险一旦出现,会对项目的成本造成巨大的冲击。   四、软件开发项目成本控制的策略分析   1.建立责权利相结合的成本控制体系,强化全员成本控制。编制成本计划并下达成本控制指标,同时作为成本责任指标考核的重要依据之一。对每个部门、每个人的工作职责和范围进行明确的界定,赋予相应的权利。在项目实施过程中,要定期检查和考评,做到奖罚分明,彻底打破“干好干坏一个样,干多干少一个样”的局面。在层层抓落实逐级负责的基础上,形成一个完整的责权利相结合的项目成本管理体系,强化全员成本控制。   2.加强项目过程管理和监控,强化全过程成本控制。全过程软件成本控制模式涵盖了软件开发项目经营决策阶段、需求整理分析阶段、开发阶段、需求变更阶段、测试阶段等等环节。   一是加强软件开发经营决策阶段的成本控制。经营决策阶段成本是指公司经营方向的选择,这是软件成本管理的第一个也是最为核心的环节。该阶段的成本控制,关键在于经营决策前科学而深入的市场调研及准确分析。   二是加强软件开发需求整理及分析确认阶段的成本控制。需求整理指市场经营人员根据高管对于市场方向的决策,而提出的具体的产品或者项目的原始需求,需求分析是指技术员对市场部门的需求进行分析,评估其可实现性以及实现难度,大致工时等,提交相关需求分析报告,最后市场经营部门进行确认这个阶段。提高该阶段的成本控制效率,要清晰的确定并严格执行市场和技术沟通的流程,尤其是要明确每个环节的控制点。   三是加强软件开发开发阶段的软件成本管理及其控制。开发阶段的成本指需求确定并且规划清晰后的具体开发过程的软件成本管理问题。该阶段的成本控制,可以引入最大可控制成本的概念。   四是加强软件开发需求变更软件成本管理及其控制。需求变更成本指在开发过程中,由于市场部门的需求改变导致的成本增加而实施的控制。该阶段的成本控制,最关键的是要对于需求变更过程进行严格的管理,要从需求变更的开始,对于整个变更的每个具体的步骤进行跟踪,并且严格核算每次变更所需要的工作时,从而做好评估。同时,务必要明晰需求变更的必要性和风险性,以及所带来的实际成本的增加,所以需求要尽量经过详细的论证。
  五是加强软件开发测试软件成本管理及其控制。测试成本指项目开发完成阶段,在交付验收前进行的测试过程中导致的成本及其控制。该阶段的成本控制,最关键的是对测试进行错误管理模式,尽量在项目开发之前,就能整理出之前开发中出现过的所有问题,并用列表的方式进行技术会议,让所有开发人员进行错误共享,尽量把测试中可能出现的问题消灭在开发阶段。   3.加强质量成本、工期成本、人员成本控制,强化全要素成本控制。正确处理质量成本中几个方面的相互关系,加强治理成本控制。即处理好质量损失、预防费用和检验费用间的相互关系,采用科学合理、先进实用的技术措施,在确保质量达到设计要求水平的前提下,尽可能降低软件项目成本。正确处理工期与成本的关系,加强工期成本控制。在安排工期时,要注意处理工期与成本的辩证统一关系,均衡有节奏地进行工程实施,在确保工期达到合同条件的前提下,尽可能降低工期成本。突出人力资源的核心地位,加强人力成本控制。软件开发项目不同于其他工程项目,最核心的资源是人力资源,质量成本和工期成本最终归结到人员成本即人力资源成本上,要求人员结构要在能够完成任务的前提下高低搭配,降低平均人员成本。一方面要将人力成本定量化,另一方面通过高效的管理制度大力挖掘提高现有人力资源的“含金量”。   4.基于成本管理的各个阶段,强化成本的动态控制。软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的情况下,对软件项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润。成本管理的过程包括资源计划、成本估算、成本预算、成本控制。要进行有效的项目成本估算和预算。项目预算是项目分配资源的计划,也是控制的标准,在项目成本管理中具有重要作用。   五、结束语   软件企业具有知识经济的明显特点,不同于传统的成本控制,软件企业管理具有以项目管理为主的重要特征。深入了解软件开发项目成本的特点,加强软件项目开发成本,从而提高软件企业的财务管理和项目管理水平,增强企业的竞争能力,促进软件企业健康发展。      参考文献:   [1]覃征.软件项目管理[M].北京:清华大学出版社,.   [2]万寿义.现代企业成本管理研究[M].大连:东北财经大学出版社,2004.   [3]张超生.目标成本法及其案例研究[D].武汉:武汉大学,2003:10.[责任编辑 陈丹丹]
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。账号(邮箱/学号/手机号)
打卡学习每日学习一个新案例,日进一步成就新高度
位HR小伙伴已参与
完成今日打卡即可领取
可用于抽奖或礼品兑换
降低成本,提高效率
本文来自话题:
  近日,多地宣布上调最低工资标准,全国至少已有23个地区上调了2015年最低工资标准,今年上调最低工资标准的地区数量已超过去年全年。其中,上海、深圳两地最低工资水平超过2000元大关。  现在,2015年还剩下3个多月的时间,预计上调最低工资标准的地区还会增加。在当前经济疲软的情况下,上调最低工资标准的地区反而增加,这对于很多企业来说无疑是雪上加霜。  如今,人力成本不断提高,调整薪酬还是减少福利、减员增效还是企业外迁等等,很多问题也随之而来,作为HR我们能做些什么呢?
& & 如今各企业老板都感觉到人力资源成本上升所带来的压力,都在努力减员增效,有统计数据显示:全国至少已有23个地区上调了2015年最低工资标准,今年上调最低工资标准的地区数量已超过去年全年。由此可以看出,现在人力成本在提升是事实,这不仅意味着员工的工资不断提高,还意味着产品的生产成本也在不断提高。在这样一个高工资、高成本的时代,过去的用工成本低时代已经一去不复返了,如何做好人力资源管理是摆在每一个HR面前的现实问题?
& & 企业发展面临着最低工资标准不断上调,用工成本增大对于企业来说是不小的压力,尤其是经济效益不太好的企业尤为突出。在这样的大背景下,企业经营应如何调整用工策略?如何控制用人风险?如何降低用工成本,同时又提升劳动效率呢?这无疑对HR管理能力和专业素质提出更高的要求。笔者认为HR可以从以下方面进行努力:
& & 一、优化人力资源成本,评估每一个岗位的工作职责,合理配置资源。
& & 作为HR需要进行人工成本分析,对每个岗位的设置是否合理要提出合理化的建议,有些岗位可以合并,可以建议进行合并,以确保每个岗位不虚设。举例来说,行政和人资是两个不同的工作系统,大公司因为工作量多,所以行政和人资是两个独立的部门,各自有明确的分工,而在小公司,由于工作量不大,所以行政和人资合并为一个部门,统称叫行政人事部。当一些岗位工作量不够的时候,可以考虑进行压缩,进行人员缩编,哪些成本可以压缩?哪些成本可以削减?哪些岗位可以辙掉?哪些岗位最不稳定需要及时储备?……这些问题HR要做到心中有数,对企业的人力资源成本结构必须了如指掌。HR只有做到了如指掌,才能有效进行对各部门的岗位进行科学规划和合理配置,也才能把合适的人配置到合适的岗位上去,以至于不浪费人力。
& & 二、推进标准化的人力资源流程管理,用制度规范化对企业人员进行精准管理。
& & 企业人力资源管理需要一整套规范化、流程化的管理制度,包括岗位说明书、各岗位工作流程、薪酬管理制度、员工招聘与试用期管理制度、员工培训制度等。当每一个岗位都应有相应的岗位职责和工作流程,员工的工作活动才能有章可循,每个员工才能知道自己负责什么,做什么的。大企业做的最好的要数规范的制度了,从招聘到面试,从入职到转正,从人员录用到人员晋升,从员工薪酬确定到员工薪酬调整,都有一整套完善的规章制度,既规范又高效,每一个工作环节和细节都考虑到。所以HR需要对制度设计的重要性有一个充分的认识,把企业的制度设计好,按照规范化的要求进行操作,以制度管理带动人力资源管理系统效能的提升,在人员招聘和选用上尽可能做到高效,这在某种程度上能够为企业节省不必要的人力资源成本支出。
& & 三、通过员工培训,提升员工个人岗位技能,从而提升员工的工作效率。
& & 人力资源管理最重要的课题是人才的培养和使用,所以HR必须重视对员工的培训。员工培训在提升员工个人岗位技能、提高员工工作效率方面所起到的作用毋容置疑。而且从管理的角度来说,员工个人岗位技能、员工工作效率的提高,可以提高企业的生产运营效率。员工培训活动有很多方面,新员工入职有新员工培训,在岗人员有在岗培训,管理人员有管理人员管理能力提升培训,提升团队合作能力有拓展培训活动。每一个培训项目都有对应的培训需求,有需求才有培训活动,而培训计划和培训效果的评估,只为使公司的每一分钱的投入都花得其所,花得所值。
& & 四、节约管理成本,应用专业的人力资源管理系统,提升HR工作效能。
& & 企业人力资源部人员配置需要根据公司规模进行科学筹划,在大企业,因为员工人数较多,尤其是上千人的大企业,在人力资源部的人员配置上会根据人力资源六大模块细分为绩效专员、薪酬专员、劳资专员、招聘专员、企划专员等各模块的专门人员,并配备人力资源总监、人力资源经理、人力资源主管,在人力资源部的人员配置上会有十几个人。小公司则因为工作量不大,人员不多,所以人员配置上不需要像大企业那样动不动就十几号人,一个人资经理配备一个专员或文员就可以了。为了方便人力资源管理的系统化,大企业有些采用了先进的人力资源管理系统软件,这大大提高了企业人力资源管理效率,而小企业用Excel电子表格就足够了。
& & 总之,在高工资、高成本的时代下,HR大有作为,既可以通过科学合理的绩效管理调动员工的积极性,又可以通过减员增效来优化企业人力资源资源配置,减的是企业中多余的、虚设的、工足量不大的岗位,增的是员工工作效率、企业整体经济效益。
(本文版权归作者及三茅人力资源网所有,如需转载或摘录请注明出处!)
后面还有1条评论,
已显示全部
学习是一种态度,自信,诚信是良好品格。
专家最新作品
降低成本,提高效率关于软件研发生产效率的几点心得 - 简书
关于软件研发生产效率的几点心得
作为软件研发人员,我们是软件产品的直接缔造者,软件产品都要经我们之手来实现。所以,在软件研发行业,研发人员的生产效率直接影响到研发的时间、成本和质量。在实际工作中,往往有些人的业务能力或者技术能力并不比别人高出很多,但他的开发效率却往往令人惊讶。所以,我们应当像追求技术一样,追求效率。这里,我个人总结了关于软件开发效率的几点心得。一、思维方式思想决定高度,要提高生产效率,首先要用思想武装自己。1.时刻准备变化软件研发与其他行业有个很大的不同,就是软件产品的生产过程并不直观,在客户看来,开发到10%和开发到99%好像没有什么不同,建房子少有建好一半突然推倒重做的,但做软件却频繁需要重构、扩展、各种改造,容易出现大量变更(当然,变更需要增加工期和费用,这里不细说)。所以在我们的思想里,开发软件就要时刻准备好变化,这个准备,不是准备好修改软件功能,而是从函数到文件到模块到采用的框架,任何粒度都可能变更,我们必须时刻准备应对变化,应对的核心就是减少变更带来的影响,降低波动带来的风险和工作量。从技术的角度,可以采用的手段有分层、模块化、抽象化、可扩展、开发封闭、依赖倒转等,实质就是通过分层、分模块、抽象接口等方式,把软件分割成不同粒度,既能方便团队并行开发,又能灵活方便地进行修改、扩展或重构。对细节感兴趣的话,可以去看google在github上的示范项目,MVP的分层、接口类的使用,甚至于对第三方框架的抽象依赖(连rxjava的线程类型都做了抽象)。2.为失败而设计软件研发是为了走通预先设计的业务逻辑,从而实现软件价值,但是很多开发者特别是新手开发者容易有一个误区,就是过度关注“正确”的环境和操作,自己开发时感觉什么都好,一到实际环境就崩,健壮性惨不忍睹。软件的运行环境是不可靠的,用户操作是不可靠的,作为开发者,我们不能决定软件运行在哪里,是谁在运行,我们能决定的,只有软件本身。所以,我们要在整个研发过程中考虑失败的情况,如果设备型号太老怎么办,如果网络连不上怎么办,如果磁盘没空间怎么办,如果用户没有点击“下一步”怎么办...一个负责任的开发者,要首先想到这些问题。同时,异常处理要遵循一定的原则,此前整理过一篇另外,我在开发时有个习惯,只要时间允许,就先从异常处理写起,把异常分支都梳理出来,异常情况都做好处理和提示,然后再写“正确”的业务逻辑,事实证明,前期的这点投入,越到后期就越会表现出巨大的优势,bug的数量和对开发的干扰都降低很多。3.复用化、配置化和自动化软件研发做熟了,就应该对复用化、配置化和自动化的巨大优势有所领教了,这三个的价值不仅仅在于节约时间,还在于降低质量风险、降低变更成本、规避人为修改/操作带来的潜在错误和不确定性,说到底,人会出错,但是程序不会出错,所以,开发者是不可信的、被大量应用所证明过的代码才是可信的。换个角度说,我们在开发软件时,要有意识地去实现这三个特性,凡是两处及以上重复的代码/函数,就有必要抽出来做成接口/类库;凡是逻辑不变但是需要切换参数的,就有必要做成配置化;凡是能用脚本、代码去实现的逻辑,就有必要做成自动化任务。不仅是开发、我们甚至可以在日常生活中应用这些思想,4.全局观现在的软件体量越来越大,软件研发都是团队行为,分工越来越细,每个开发者只负责软件的一部分,这对于团队来说可以提高效率、节省时间和成本,但是对开发者个人来说,容易陷入自己那一小部分技术和业务,久而久之,就缺少了全局观。对于软件来说,他的价值在作为整体运转起来时,才能体现。一叶障目的开发者,很容易卡在涉及软件整体逻辑的问题上进行不下去,或者做出过于复杂的逻辑,事倍功半。个人建议,开发者一定不能丢弃全局观,平时多了解整个产品的业务和价值,知道整个软件的结构都有哪些部分,明白自己负责的模块在哪个位置,起什么作用。在做具体功能前,最好先想清楚整个逻辑,数据流向是什么样子,逻辑分支都有哪些,有没有限制条件制约,尽量在动手写代码前,先找到问题,多找同事或业务进行讨论,胸有成竹,才能事半功倍。5.自我管理作为软件研发人员,应该主动了解业务、积极提升技术,努力拓展视野,不过在这里,我们主要从生产效率的角度看看,怎么更好更快地完成开发任务。首先要正确认识任务目标:我们前面说过,研发人员是软件的直接缔造者,所以我们自己要对开发任务有清楚的认识,目标产品在什么环境下运作,由谁操作,产生什么价值,有哪些风险,业务数据/流程从哪里来到哪里去...如果开发者自己都含糊不清,就很难产出合格的产品,更不用说生产效率。然后要管理好工作计划和任务清单:不论是团队也好,单干也罢,研发工作都是有时间和进度要求的,一个明确的工作计划和任务清单,可以直观准确的反映自己的工作进度。当前任务栈和工作记录:程序员喜欢讲“心流”,就是进入一种全身心投入编码,失去时间概念的工作状态,但是实际工作中,“心流”状态很容易会被各种事情打断,我们不能指望把所有人拒之门外,只能尽量把“心流”的进度保存下来。个人喜欢用一个记事本记录当前要实现的任务目标,在工作中每遇到一个问题,就罗列出来,解决之后,再做好标记,这个记事本只增不删,把记录分组标记上日期,就是最好的每日工作记录,既能保存思路,又有助于回头梳理不足。二、技术储备、代码储备和团队储备软件研发是需要长期积累的,储备越多,选择越多,能用于提升生产效率的手段也就越多。我把储备分为技术储备、代码储备和团队储备三类。1.跟踪与分享新技术软件研发是个生命力和创造力很旺盛的行业,我们做软件研发既要考虑成熟技术的稳健可靠,又要理解新技术的便利和突破,保持追踪新的技术风向,才能更好地平衡新技术与成熟技术的应用。技术储备工作需要持续的投入和关注,单就Android开发来说,需要跟踪的框架就包括:网络访问框架、图片加载框架、缓存框架、Json解析框架、事件总线、ORM框架、自定义控件、自定义动画、数据统计、异常搜集、推送、安全加固;另外编程思想或工具有MVC/MVP、RxJava链式编码、注解式框架等。当然技术储备要有选择的使用,在工程领域,不是最新的好,也不是成熟的好,视具体需要,合适的才最好。2.建立共享代码库每次研发完成之后,我们的收获其实不止有软件产品,也不止是获得的经验,我们在开发过程中,一定会抽象出一些工具类、甚至框架,这些代码可以在团队内部共享,既提高开发速度、避免二次开发,又能在广泛的使用中暴露缺陷、迅速提高质量。相对于每个项目自己的工具类,共享代码库虽然能提高开发效率,但是也放大了风险,一旦出现问题,会波及整个产品线上的多个产品,必须严格控制质量和性能,强调其扩展性和兼容性,建立持续改进机制。至于代码托管的问题,我此前分享过如何,可以聊做参考。3.建立团队规范在团队开发中,我们要做的储备工作主要是规范性,建立和遵循良好的代码规范,既可以保证团队成员之间的代码可读性,又能在代码合并、工作移交等细节上节省大量时间。三、辅助工具
每个程序员都有自己惯用的快捷键,也有自己偏好的一些辅助工具,这些能大大提升我们的开发效率。个人此前整理过一部分辅助工具或配置项,包括:后续还将增加一些插件类工具的使用介绍。四、定期总结很多程序员只喜欢写代码,不喜欢写文字,这其实是一种浪费。从技术角度上,定期总结能方便自己日后回顾,我自己就经常查阅自己以前的总结,当做技术字典来用,一些没有及时记录下来的思路或技术,就很遗憾地丢失或忘记了。从交流的角度,定期总结能锻炼我们的表达能力,如果我们的总结有问题,会有大神出来评论反馈,帮助我们认识到误区。另外,定期总结,即是鼓励也是鞭策,能让我们直观认识到自己近期的成长和进度,敦促我们跟上时代,这样,赚钱吃饭也有底气...
我的介绍...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图...
第一章我如何做好销售团队的整体组织规划 依靠优秀销售团队的努力,可以为下级经销商和客户提供全方位的销售服务,以获得协同和配合,提高产品和服务的差异化和增值性,从而建立争夺市场优势的基础。同时,市场不可预测的快速多变,也要求销售团队保持快速的响应能力,以及时调整市场策略,使销...
先说项目开发过程中团队人员的分工协作。 一 人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时候,但自认为对团队协作的了解和认知都还有所欠缺。很清楚团队协作的重要性,但尚未有很好的机会在相对成熟的团队中锻炼实践。 先抛开软件开发团队中人员的具体安排不讲,...
乳房,是女性魅力的重要来源。现在越来越多的女性不再局限于天生的条件,选择通过隆胸手术来改变自己。但是丰胸的方法那么多,究竟哪一种隆胸的效果比较好呢?妍姐今天就为小伙伴来扒扒隆胸的秘密。 在过去的50年中 中国的隆胸手术主要是 两种方法或者说两种材料 1、硅凝胶假体 2、自体...
从锡城迁徙至通城,已有近两个月的时间了。每年的秋天,都有许多踌躇满志而又徘徊不定的人儿,望向模糊不清的未来承诺着、揣测着、喟叹着。生活永远都不会是你我想象中的样子,要么好一点,要么坏一点,总之不会与脑海里预设的场景相吻合。 每一座城市,都像一位颇具个性的姑娘。有的低调有的张...
人体的平衡很重要,如何调和才是最好的方法 一个健康的人体,它内部各个器官必定会正常运作,在受控的变化范围内,所制造的阴气阳气必然能够保证达到人体需要的正常水平,冷热调和后形成的体温,也必然稳定在一个程度上,于是,人体自然就会感觉得到自我良好。但是,人生活在这个世界上,活动的...
言语是带有力量的!一个从小就被常说“你怎么这么笨啊!”的孩子,渐渐的真的相信了自己是一个笨小孩!
大概我们这个年龄的孩子都是在批评中长大的,被贴上了很多的标签――“你好矮呀!”,“你就是倔强”,“你真笨”,“你是不是傻”,“单眼皮不漂亮,双眼皮才好看!”“你怎...

我要回帖

更多关于 提升效率,降低成本 的文章

 

随机推荐