超级战大爷日本软件工程师.docx
《超级战大爷日本软件工程师.docx》由会员分享,可在线阅读,更多相关《超级战大爷日本软件工程师.docx(82页珍藏版)》请在三一办公上搜索。
1、日本软件开发的度量取向根据意识:言而有据的诉求 判断基于事实,承诺源自依据。日本软件企业在软件开发过程中让人感觉到一种习惯性的根据意识:立足于数据而不是假设之上。规模估算、进度估算、成本估算、人员估算,都需要说明理由,而不是仅仅凭借经验甚至感觉作出判断;进度调整、质量评估、费用超支、人员追加,仍然需要提出变更的原因,不管这种变更是否对企业有利;项目意见、作业提案、选择建议、管理流程,都需要通过调查分析阐述各自的依据。尽可能排除直观感觉可能带来的误差甚至错误,通过切实有效的数据来反映事实状况,并通过这些数据来判断发展趋势,作到“言之有据”。因为面对客户的需求,不能主观随意地作出判断或者抛出承诺,
2、而没有相应的根据,否则顾客将会感到“不安”。这就是软件开发者的根据意识。根据意识源自危机意识,日本似乎与生俱来的危机感促使其在软件开发过程中尽量排除风险,而排除风险就必须基于科学的决策,必须拥有根据,而不是凭空决策。精度管理:敏感的数据倾向危险出在管理上,魔鬼藏在精度中。精度表现着对事物认识的深入程度,不管是软件成熟度模型,还是六西格玛,都表达着对高精度管理的诉求。日本软件开发过程中对精度的要求包括项目计划精度、工数估算精度、进程控制精度、缺陷统计精度、成本控制精度、品质控制精度等等,力求通过数据来描述和分析问题。特别是在项目规模、项目缺陷、累计工数、需求变更、测试和审查等方面,更加注重精度管
3、理,更加注重度量。以前,日本企业的规模估算等方面依赖于KDD,即勘(Kan:直觉)、经验(Keiken)、度胸(Dokyou:胆识),但这种情况已经被基于数据和科学方法的精度管理所取代。数据敏感,具有较好的数据分析和判断能力,这已经逐渐成为现代企业管理者的基本资质要求。如果分析和判断建立在准确数据的基础之上,那么精度管理就获得了必要的操作依托。软件开发计划与实绩管理就是最明显的精度管理:精度意味着实绩与计划的吻合程度,如果实绩与计划相去甚远,那么其计划精度就存在问题。当软件品质中融入精度管理的时候,精度管理就成为与软件品质改善并驾齐驱的主线。可视作业:工具的灵活运用可视化作业能在作业的效率和质
4、量上给项目团队带来惊喜。日本软件企业在软件开发过程中注重作业过程中的可视化,追求项目成果的可预见性、项目问题的可追溯性、项目绩效的可评价性,利用各种软件开发工具来阐明现状、沟通思想、分析问题和团队作业,防微杜渐,通过新旧七大工具以及Microsoft Project等工具推动可视化,并在数据、图表、模型等的熟练使用方面拥有相当的根基。项目管理方面的“看板”就是典型。工具是用来处理其他事务的手段或器材。灵活运用工具解决实际问题的能力,对管理层人员来说至关重要:没有对软件开发过程的可见度就无法管理;而没有对事物进行适当的度量,也无法进行有效和高效的管理。软件工程的方法论主要在提供可见度方面下工夫,
5、从多个角度推动可视作业,对软件开发的绩效发挥着越来越重要的作用。 日本软件企业的开发管理概况一、日本软件企业的发展概况日本软件企业起步于上世纪60年代末70年代初。当时起步的绝大部分软件企业均源自母公司的软件开发部门。在80年代经历了一个平稳的发展期后,90年代初日本软件企业达到了发展的高峰期,不少现在的大型软件企业正是在这个时期急剧壮大,直至问鼎日本信息产业界。此后90年代中期,日本软件企业不断整合,涌现了不少经整合而成的”巨无霸”,YahooBB、富士通株便是其中的代表。近 90年代末期,日本经济大萧条,银根紧缩,日本软件企业为了保持或获取更大的利润空间,纷纷将开发业务转至海外。加之中国劳
6、动力便宜,地理上曾与日本依水相连,文化上与中国息息相通,于是大量日本软件企业纷纷涌入中国寻找合作开发商,使目前的中国对日软件外包输出呈现一片欣欣向荣蓬勃发展的局面。二、日本软件行业的特点日本软件行业从规模上说,体现为众多大型企业与小型企业竞相并存的局面,而非像中国以大多小型软件企业为主导的情形。 从分工方式上来说,大型企业主要从事上流设计(需求分析,概要设计,系统测试和维护),小型企业主要从事底层的工作(详细设计及编码测试)。大小软件企业分工合作,互补其短,非常有利于节省成本和提高效率,同时大家都有利可图。这与国内企业“一条龙”的开发方式显然大相径庭。有人不禁会发问:”为什么这么一个小国家有如
7、此大的软件需求”。首先从经济生产方面看,日本产业经济的高度自动化和信息化是一个强有劲的动力。其次在日本人观念中,行业软件的概念比较淡薄(社会上标准的被广泛运用的诸如微软操作系统这样的软件除外),量身定做的模式比较容易受到大众青睐。实际上,日本很多软件企业的盈利大部分来自系统维护、优化、改造等这样的售后服务。与之相反,这样的观念在中国却很难被客户接受。在日本,企业的终生客户比例非常高,因此日本的IT企业一般都有比较固定的客户群,因此企业营运相对来说也比较稳定。此外日本的软件企业一般都有自己的一套经过多年实践总结出来的开发流程和开发规范,在一般性的软件开发时按部就班地进行,做到尽量不出差错。相比之
8、下,国内的软件企业往往心高气傲,好高骛远,不重视平时的技术经验积累,因此也就难以作大成为大企业。三、日本企业的经营特点相对欧美企业而言,日本软件企业在经营上体现出下列几个特点:1. 盈利目标和利益分配:日本企业更加注重于产品的市场占有率,同时也比较重视新产品比重。在利益分配方面,兼顾股东利益、员工利益和社会利益的三者结合。从根本上讲,由于员工利益能够得到保障,所以在日本终生雇佣制能够主导日本企业的用人机制。2. 企业战略:日本企业非常重视营业资源长期累积,采取的是高质量产品战略而非新产品战略。不过最近几年这种战略观念开始受到冲击并逐步向新产品战略转化。3. 技术:日本企业一般从应用角度出发,技
9、术难度不高。企业不少技术均来自于模仿抄袭和改造。由于日本法律的原因,许多国外先进技术被日本企业侵权后引发纠纷大多只能草草收场。这在IBM控告富士通侵权一案上得到了突出的体现。4. 组织构造:日本企业的组织比较注重整体观念,采取有机的组织方式,很少采用事业部制。不过近年来,日本大中型IT企业的组织机构正在由原来的”职能划分”向”业务领域划分”转变。5. 组织方式:采用了不同于欧美企业的集体决策机制,集思广益,从而能够调动员工的积极性,同时也会出现”决策滞留”的低效率现象。此外企业内的所有成员共享企业的经营、技术等方面信息,对于欧美企业来说,这是比较难以想象的。6. 经营者个性:日本企业并不太看中
10、经营者的技术能力,拥有良好人际关系的员工常常被青睐并作为候选人员。技术能力突出的员工通常是作为顾问专家这样一种形式得到提拔。四、日本软件企业的开发组织模式非事业部制的日本软件企业一般采用的是”经营开发后勤”这样一个模式来从事软件开发。这一点跟中国国内的软件比较相似(图1)。但要指出的是这里的”后勤”范围很广,包括企业的员工培训和发展计划,系统审计,信息化,企业经营等,与国内不同,日本的大中型IT企业均设有信息推进部这样一个由专业技能非常突出的人员构成的部门,专门从事企业信息化、软件复用体系构建、帮助中心(Helpdesk)、人才育成体系构建这样的”后勤工作”。也正是”后勤”方面资金投入、建设力
11、度等方面的差距,决定了中日软件企业实力对比上的根本差距。图1日本企业的组织模式五、日本企业的项目开发管理日本企业的开发管理,讲究中规中矩,非常重视文档的规范化管理,力求做到”凡事必求有据”,体现一个”稳”字。下面以富士通SDEM(软件开发环境方法)为一典型,说明日本企业的项目开发流程。SDEM是日本富士通根据CMM标准,结合自身二十多年的经验提出的软件开发管理体系标准。它全面兼容CMM与ISO9000,甚至在某些部分超过现有国际标准,在日本享有盛誉并为众多的大中型IT企业所效尤。SDEM的要旨是以时间为横坐标,以文档为纵坐标。根据项目时间的推移,对某个项目阶段的需要进行的项目活动和书写的工程文
12、档进行定义,从而达到整个项目的开发管理。从形式上与CMM3较为类似。SDEM的理念是从不同项目干系人的角度(视图)看待开发。用户看到的是企业的业务和可系统化的对象(即现实世界)。项目开发着看到的是开发支援活动和项目管理活动(即电脑世界)。双方通过可交付的软件(广义概念,开发未完成时指的是文档)和硬件作为两个世界的接口,并在每个开发阶段得以定义和实现。随着项目阶段的推移,用户的业务和可系统化对象得到进一步细化和实现,这同时也体现了”由顶自下,逐步求精”这样一种开发思路。图2 SDEM视图SDEM分为五个流程,其中契约流程和组织流程贯穿于整个项目阶段。项目阶段包括分为企画、开发及维护三个流程。1.
13、 契约流程契约流程分为两个方面:购入和供给。购入流程是开发实体为了能够进行项目开发需要向”资源提供商”(包括本公司其他部门或开发小组)”购入”资源的过程。流程中涉及了资源(人、财物)申请提案、预算书和批准文书等文档。供给流程则是针对客户的提案、合同签订等应该进行的活动以及涉及的文档。通过上述两个流程的综合,项目有关客户、成本方面的因素便一目了然。同时也为开发提供了相应的依据。2. 组织流程组织流程则包括组织管理流程和系统审计流程两个并行流程。组织流程是企业针对该次项目开发实施一系列管理、开发支援活动。中间包括了事业计划、员工培训等内容。它的好处在于开发组只需专心开发,”你要什么,我就给您什么”
14、。从而减少项目管理者的工作量,同时在内部成本核算等方面也显得极为便捷。系统审计流程由独立于项目开发人员的第三者来进行。它的主要任务在于对所有实施阶段中的项目开发效率,开发进度,资源等方面进行追踪,然后通过书面报告的方式向项目管理者提出改善建议。使项目管理更加全面和高效地得以执行。3. 企画流程企画流程包括信息化构想立案(VP)和系统企画(SP)两个流程。每个流程均分为企画立案和项目推进两方面内容。信息化构想立案针对的是公司项目方针,项目间的计划过程。在这个流程里,公司的经营管理者对目前公司内的项目进行计划,调整开发组织结构。系统企画则是针对特定的某一个项目制订的方针、投资效果分析以及过去同类项
15、目的业务总结等。通过该流程,开发人员对即将从事的项目形成大体轮廓,并界定原有可复用资产(包括文档、人员、经验等)。SDEM的企画流程分别从企业级和项目级对具体项目进行早期统筹安排,强调整体效应,这一点非常值得国内借鉴。4. 开发流程与瀑布模型极其类似,富士通SDEM将开发流程分为系统分析(SA)、用户界面设计(UI)、系统设计(SS)、详细设计(PS)、程序编码(PG)、程序测试(PT)、集成测试(IT)、系统测试(ST)和运用测试(OT)九个环节。每个环节均包含业务、业务式样、应用、软硬件需求、开发支援和项目管理六个视图。每个视图与具体的文档或过程相对应,均以相应活动的完成或文档的生成作为视
16、图的里程碑。5. 应用维护流程应用维护流程(ME)再现了日本的终身服务理念。在日式软件开发中,应用维护作为软件开发流程的一部分也是最重要的一部分得以重视。系统一旦交付使用,将有专人会同客户,对专门人员进行培训、同时对系统的使用进行评估,提出评估报告,总结经验教训,并提出改善方案。较大型的系统在运营期间一般由开发商专人或聘人进行维护,直至系统报废为止。当然,维护费用还是比较可观的。实际上,不少日本IT企业营业利润的主要来源很大一部分是客户系统的维护和优化。图3 SDEM模型(V模型)六、日本企业的信息推进上面曾提到日本的大中型IT企业均设有信息推进部这样一个一级部门。信息推进在日本企业具起着极其
17、重要的作用。它覆盖了日本企业信息化的所有方面。企业级软件复用的实施,开发流程的改进。企业现有项目经验、技术的整理分类,根据企业和项目的需要会同人事部实施人才战略等等,都属于信息推进部的职责。信息推进部定期从各个开发和业务部门收集有关资料和信息,经分析处理后向各部门提出指导性建议或进行相关的人力或技术支援。在一些较小的公司,则成立信息技术推进室这样一个类似部门,由工作多年并拥有各种高级资格的技术、管理人员构成,直接由社长领导,共同对企业的信息化战略进行规划和实施。信息推进活动的实施,使得企业的技术和经验能够迅速的到提升和积累。对企业来说,它提高了企业整体的运营能力。对具体项目开发来说,它提高了项
18、目的开发效率,降低了开发成本和开发风险。从上面SDEM的例子我们可以看出,日本IT企业的项目管理和国内的管理从本质上来说区别在于一个”态度问题”。日式项目管理对涉及的过程和文档规定了极其严格的次序和样式,要求开发人员严格执行。从国内来说,绝大部分IT企业均打着软件工程幌子,在具体施行方面,开发人员往往是视而不见或是”上有政策,下有对策”。其次,日本的IT企业比较重视经验,技术等方面的积累,舍得花大量的人力和物力投入这样一些让国人感觉比?quot;虚”的方面去(即信息推进),这也是国内IT企业很难作大的原因之一太注重眼前利益而忽略企业长期发展的需求,没有积累和沉淀,因此很难发展壮大。日本企业的开
19、发管理模式,的确值得我们借鉴和学习。全球IT实力排名,美国第1,日本第2,中国第46 从下几个方面来分析一下: 1、软件方面中国和日本其实没法比较,中国的盗版业足可以摧毁任何开发人员的信心,除非是非市贩领域的专业软件也许还有些市场。 2、至于硬件方面,同属于制造业,这是日本的强项,IBM昔日IT行业的一家垄断就是给日立、富士通、东芝等几家日本公司瓦解掉的。 3、人才方面,这一点是日本的真正劣势,和印度小学要求乘法表背到20乘20,中国小学的应试教育相比,日本小学和初中的数学教育很差,如果不上私塾的话可以说数学就是一塌糊涂,这导致日本理科人才的缺少,而且相对于中国的大学来说,开设计算机系的学校太
20、少,这方面的专业人才不足,加上高龄少子化的社会问题,后续人才的培养基本上指望不上。日本的公司又是终生雇用制,大部分不愿意换工作,限制了人才的流动性。 东大,早稻田的毕业生大部分都进了日本的大公司,和所有行业一样,不管你多牛,新人工资20万日元左右。 4、市场方面,这方面资料数据没有,不好说,不过日本IT行业需求肯定不会比中国小。举例来说,日本某大银行采购软件的规模是以万套来计,每套几百万日元,这种活儿只有NEC,富士通等大公司能接到,然后倒好几次手才到中国公司。 5、在人才市场需求方面中国的问题是大学群立,大量开设了计算机类的专业,导致就职市场的相对萎缩,供大于求。日本恰恰相反,没动过电脑的人
21、进公司做SE这种事在中国估计要当笑话说的。这才需要从中国引进人才。 6、观念方面,在日本IT工作被分为技术职,营业职,管理职三种,管理职和中国的概念一样,营业职和中国国的市场部一样,但是技术职并非只会技术,而是分为上流工程和下流工程,上流工程就是去和客户谈需求,日本的客户估计是世界上最苛刻,最有个性的客户,在日本通用软件没有市场,各行各业的软件式样复杂,变更频繁,沟通极其重要。搞上流工程的人理解和表达能力要好,而且拥有多年的开发经验和某行业的业务经验。搞下流工程的就是咱们这边的技术人员,会写详细设计,会编码。日本人认为详细设计以后的工作是可以通过框架,规范,review,以及日本人天生的服从指
22、挥的天性来做好的,所以组织一群精英开发框架。 日本人的代码注释很详细,而且有履历,可以生成漂亮的javadoc(函数相关的数据表,属性文件,示例代码都有)。各个项目组靠javadoc在开发开始之前确认接口。 除非代码可以自动转换为容易理解的图形图表,否则文档就是不可缺少的,因为业务逻辑很难从代码中完全把握的。 7、虽然日本人普遍英文不好,但是他们集中少数英语好的人,专门翻译英文文档,翻译得很精准,日文版的jdk javadoc早就有了,中文版的似乎刚刚出来。日本的计算机书可能不如中国的种类多,但是绝对没有糊弄事儿的。日本的技术网站往往采用xoops或者pukiwiki,由一帮业余爱好者维护,重
23、复建设比较少,有利于提高教程的统一度和正确性。而日本的商业IT网站,都是聘请专家来做专栏。 8、日本网络速度快,可以达到100兆光纤到户,月额不过合人民币300元,硬件也很便宜,尤其是二手硬件,一台8成新二手刀片机也就人民币3000块钱,所以很多server爱好者都在家里架设服务器,这就给linux提供了生存土壤。 9,有一种说法是日本人不善于创新,说对了一半,日本人在计算机基础理论上是缺少创新,不过他们的强项是造物。理论可以学习,可以引进,但是要想生产出合格的产品并非那么容易,在这方面日本人的精细其他国家很难和其相比。德国人发明了莱卡相机,日本人研究了几十年,然后大规模产品化,现在全世界都在
24、用日本的单反数码相机。日本人认为中国人是最善于经商的,日本人之善于制造,只是由于制造的质量太好,所以用过的人不得不接着用,表现出来好像日本人很会经商。日本人对于自己的制造技术十分自信,前些日子日本航空公司的波音飞机出事,好多日本人都说美国货靠不住,还不如日本自己造。 随着日本新一代的叛逆,劳动力的减少,IT开发工作的乏味和加班,越来越多的人开始反抗,有人撰写了人月将使工程师越来越差,有人发明了ruby等等。传统的终身制被打破,满大街的招聘广告,求职网站如雨后春笋般冒出来。 现在中日的IT实力对比,有点像抗日战争时期,中国是内耗严重,装备差,环境设施差,信息封锁,人员参差不齐,有少部分黄埔精锐,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超级 大爷 日本 软件工程师
链接地址:https://www.31ppt.com/p-1675868.html