@lsmn
2017-06-06T06:13:43.000000Z
字数 5597
阅读 2285
敏捷
Risman Adnan是三星印尼研发机构的负责人。他谈了如何在一个大型组织中培育创新、敏捷及一个卓越的工程师文化。他会在即将到来的敏捷印尼大会上作主题演讲。
Risman Adnan是三星印尼研发机构的负责人。他向InfoQ介绍了他培育创新、敏捷及创建工匠文化的方法。
为了寻求创新,三星在印尼雅加达设立了一个研发中心(SRIN)。2014年,Adnan从微软来到三星,成为该软件研发中心的负责人。Adnan是印尼IT行业的一位知名人物,是创新和敏捷的推动者之一。在即将于7月份举行的第一届敏捷印尼大会上,他将发表主题演讲。
InfoQ:请向那些还不认识您的读者简单介绍下您的背景?
Risman Adnan:我在印尼IT界已经呆了超过17年,承担过多种角色,从软件工程师、开发负责人、技术布道者、技术销售、市场营销,到现在的研发组织负责人。理论上讲,我最初是物料学背景,无意中接触到了软件行业。我认为自己有较强的自学能力,在业务、数学、物理和计算等方面都有着不同寻常的好奇心。
InfoQ:SRIN是什么时候成立的?主要是因为什么要在雅加达开设一个研发中心?
Adnan:三星印尼研发中心(SRIN)于2012年成立,以商业化服务为研发重点。作为三星研发家族的一部分,SRIN是全球20多家研发中心之一。每个研发中心都致力于通过自己的核心能力为三星的前沿技术提供支持。自成立以来,SRIN就一直在地区和全球市场上为三星最新版本的Galaxy设备提供商业化应用服务。今后,SRIN将努力成为印尼优秀的研发中心,致力于商业化全球最新的移动应用、中间件软件、数据管理和分析技术的研发成果。从这里可看到有关SRIN的更多信息。
InfoQ:过去几年,SRIN是如何发展壮大的?
Adnan:SRIN的发展壮大全归功于人,他们创建了研发文化,打造了竞争力,推动了贡献(产品和IP成果)。它和其它的软件开发组织有很大的不同,因为它需要更高的创造力、分析及解决问题的能力,从而具备创新能力。人是SRIN的主要资产;我们雇佣最好的人才,开发并提升他们的能力,使他们为企业做贡献。在文化方面,SRIN底子里是一个学习型组织。那是我们的基因。我们鼓励我们的工程师不断的学习,提高软件工程技术基础知识水平,如算法、操作系统、编程语言和人工智能(AI)。我们认为,那些基础知识对先进技术探索而言非常重要,SRIN必须打造自身的学习能力。因此,SRIN已经在特定的领域发展出了新的竞争力,比如中间件软件、数据分析和AI/深度学习。在IP贡献方面,SRIN过去三年来在美国专利局申请了一些发明专利。能够参与SRIN的旅程,并在过去的三年里经历那个“无所不学”的发展历程,这真得让我很着迷。
InfoQ:您创建了SRIN学院;可以比较详细地为我们介绍下吗?
Adnan:不只是在印尼——在软件行业,人才短缺随处可见。专业和技能型人才是稀有且昂贵的商品。例如,后台软件工程师、框架开发者和数据科学家。这些人才在印尼市场上就不存在,所以我们不是雇用而是一致决定培养自己的人才。有趣的是,虽然印尼工程师没有接受完整的大学教育,但他们非常勤奋,而且渴望学习。我们还发现,基础知识学习可以不必外包或者委托给第三方机构,它应该是文化的一部分。了解了这个事实,我们就开发了内部课程,训练SRIN工程师和关键合作伙伴。在每一门课程中,我们都注重平衡概念理解和所需的实用技能。目前,SRIN学院有4门课程,包括算法数据结构、C++、Java和深度神经网络。此外,从2016年开始,我们还向关键合作伙伴,如BINUS、UI(印尼的大学)和总统大学,开放了SRIN学院的课程。我们坚信,合作伙伴生态系统将在我们的长期成功中扮演重要的角色。
InfoQ:您会如何描述三星的工程师文化?
Adnan:我一直将其描述为FAST;这和速度无关(虽然我们做事情比较快),那是指“专注(Focus)”、“一致(Alignment)”、“科学(Scientific)”和“人才(Talent)”。让我解释一下。
专注。我们的工作需要多个小组专注于目标、问题和解决方案。做这项工作的“人的物理过程(physics of people)”至关重要。我们运用常识帮组他们保持专注。首先,我们有一个清晰的团队模型和R&R,这样,我们就可以根据人的技能、能力和个人兴趣分配任务。这并不简单,因为需要配备一些技术设施,比如平台栈、标准框架及开发/测试指南。SRIN有一个SE委员会,他们拥有在开发生命周期中使用的所有标准,以及开发和维护代码框架和自动化中间件的软件设计工程师(SDE)。在开发阶段,SDE基于产品经理(PO)和产品负责人(PL)定义的设计和规范使软件工程师(SWE)专注于结构。在测试阶段,软件质量工程师(SQE)运行测试用例,并反馈给开发团队。这是一个非常常规的设置,但是,要做好还是需要时间和成熟度;我们已经知道了这条路的艰辛。
一致。软件开发是一项协同工作,人们需要交流,而且交流节奏相当重要。我将其称为人的物理过程。一旦团队有了清晰的R&R,下一步就是要保持一致,人的物理过程定义了团队如何有序地发展。在SRIN,我们没有什么秘制食谱;无非就是实际地实验,从错误(而且是不同的错误)中吸取教训。我们就是通过实验本身验证我们的知识,而且,那是工程“真相”的唯一验证标准。实验帮助我们制定出了自己的工程法则。我们的法则适合于我们的人的物理过程。我们实验、想象、推断并猜测下一步会发生什么。在实验阶段,我们向专家、著作和论文等学习。你认为其他人的流程模型或实践能帮助到自己独特的团队吗?我们不这样认为。首先,我注意到,我们更随意,而不是更正式。我们的正式会议较少,更鼓励任何人都可以发言的随意讨论。我们可以一失败就做决策,让其他决策推动其向更好的方向发展。“敏捷”是否可以更好地描述这种情况?
InfoQ:是的,听上去像敏捷。也有点像精益创业,实验,度量,学习……
Adnan:科学。我们认为,工程师工作是运用科学知识开发实际问题的有效解决方案。不管是工程还是科学都涉及设计和发现、通过工艺实验创造知识、问题驱动、设法理解。软件工程不一样吗?我们的答案是否定的。在软件项目生命周期中,我们使用分析技术来避免误解。我们无法控制我们无法度量的东西。例如,在软件项目中,我们需要能够评估资源、时间和风险;但怎么做呢?我们的做法是跟踪工作量、时间及缺陷,然后做一些分析,作为我们的评估基础。那很简单吗?不。我们要做实验、度量、提出假设并运行分析来评估。那可能会不准确,因为“设计是人类的本性”。我们仍然工作在科学的可量化领域与身为人类的嘈杂现实之间。
人才。所有企业都希望雇佣和留住最优秀的人才。我们在印尼是怎么做的呢?好吧,那需要策略。我们总是寻找基本具有某些领域技术能力的人,不一定是编程。候选者的科学技术经历,他们以前做过什么,这样的事情对我们而言并不十分重要。我们雇佣可以学习新东西并展示出创造性思维能力的人。我们雇佣数学、物理、电气工程和计算机科学等许多背景的人。首先,我们进行解决算法问题的测试;如果测试通过,我们接下来会进行一系列的面试,更多地了解候选者的态度、行为、好奇心和热情。我们还有一个(坏)习惯,就是测试学习能力,如为他们提供技术书籍,要求他们阅读并告诉我们了解到了什么。一旦录用,我们会让他们投入学院课程的学习,学习所需的基本内容,如算法、操作系统和编程语言。我们以月为单位度量基本技能,尤其是解决算法问题。此外,我们像对待家人一样对待雇员,我们的办公室就是第二个家。我们就是这样留住人才的。
InfoQ:您在以前的演讲中说过,让人们真正地提出创新(而不是复制已有的应用)充满挑战性。关于这一点,您能和我们做一些分享吗?
Adnan:创造性的创新是要准确定义要解决的问题,了解许多以往的概念,有许多想法,然后想出一个全面的解决方案。主要的问题是——我们需要有什么才能做到全面地思考?想法。如何获得想法?了解以往许多与问题相关的概念。当活跃的大脑能够将多学科的概念(业务、技术、科学、用户行为)联系起来,识别模式,建立新想法,提出新模型,验证并进行最终的简化,创造性思维就产生了。事实上,许多漂亮的应用都非常简单,但这种简单来自有许多输入的复杂思维过程——归纳或演绎。那需要付出巨大的努力。你能想象出“我的世界(Minecraft)”背后的创造性思维需要做出多少努力吗?现在,复制那个应用?听上去很简单,可能立即就会有结果,但是可能并没有解决一个问题,或者更糟糕地,解决不同的问题。我们可以从已有的应用获得灵感,但复制永远是不可行的。创新没有捷径。
InfoQ:软件工匠的哪些重要方面是如今的创新所需的?在SRIN,你们是如何做的?
Adnan:如今,我们可以在清晨醒来时就参加斯坦福或麻省理工学院的在线课程,和Quora的专家进行讨论,学习Github上的源代码,阅读大量来自Arxiv的论文,等等;所有这些都让我们的大脑保持活跃。全世界,任何品质优秀的工程师都会那样做,而不只是硅谷的工程师。你注意到这对软件工匠的影响了吗?同等的颠覆机会。根据我的经验,常见的障碍是没有创新的志向和信心。我还忽略了慕课(大规模在线课程)的作用,我们可以学到任何东西,也可以随时开发。在印尼,我们有资源,每年都有大量的STEM毕业生,他们渴望学习,但是,没有志向和信心就无法做到。我很享受为SRIN的人们带来启发,并看到它每年都有个不错的发展。
InfoQ:你能比较下自己在微软和SRIN的工作吗?有什么相同和不同之处?
Adnan:我在微软工作了10年,承担过许多角色。三星和微软都把人视为公司最大的资产。两者都投资当地的发展,涵盖客户、合作伙伴和开发者生态。我很高兴看到这种情况在印尼得到延续。在我看来,两者的差别在于业务敏捷性和遗产。微软有一个自上而下的、非常严密的计划流程,有可度量的指标和定期业务审查,这有利于稳定性。我觉得那就像花10年的时间学一个MBA。三星提供了更多自下而上的方法,他们更多地倾听客户的声音,为创造性实验留出空间,这提供了实地工作的灵活性。微软有很多软件遗产,而三星强于消费类设备。软件遗产和硬件遗产意味着不同的企业DNA。我很荣幸两者都体验了,我希望看到微软和三星将来更多的合作。你是否知道.NET现在已经可以在Tizen OS上运行了?是的,能够使用Visual Studio在Tizen设备上编写C#代码真得让开发者兴奋!
InfoQ:您认为是什么让印尼在整个IT领域与众不同?
Adnan:印尼的IT生态系统也有遗产。这源于多个国家的技术负责人在当地的合作伙伴生态系统中销售和投资。那是个B2B生态圈,由于市场需求,其重点在业务线(LOB)应用开发、系统集成和部署上。在IT资源供应方面,印尼是亚洲最大的国家之一,每年有超过10万名STEM毕业生。在消费者方面,作为人口第四的国家(大约2亿6千万人,60%是年轻人),印尼提供了巨大的机会。人们年轻、好社交、精通数字化。
印尼是独一无二的,它为IT行业提供了许多“渴望学习”的人和一个巨大的消费市场。在过去的五年里,我们经历了显著的变化,从专注于B2B到B2C,从项目为中心到产品和服务,从LOB到电子商务、金融技术和教育技术。具备学习能力并投资人员教育的企业拥有巨大的发展潜力。当地市场本身于创新而言已经足够大。在印尼,选择一个行业,然后看看谁是顶级厂商;你认为他们已经有效地进行了IT创新吗?他们仍然非常传统。这听起来像是机会,对吧?
InfoQ:InfoQ:是的,是机会!自从我去年年中来到印尼,我就意识到这个国家的IT正在加速发展。感觉印尼正迅速地追上来,而且做得很快。印尼似乎也正在吸收学习敏捷。今年,我看到许多公司都在向敏捷迈进。在三星,您觉得其中哪些东西可以视为强项,哪些领域经过了敏捷提升?
Adnan:是的,我也感受到了这种趋势。在三星,我们不会盲目地在R&D项目的生命周期中采用流程模型。我们将自己视为敏捷团队,不是因为我们使用了SCRUM提出的概念,而完全是依据我们的组织文化。我们还会根据人的准备情况和成熟度对其进行调整。我们相信“设计是人类的本性”,而且那非常重要;我们就是这样定义我们的流程和策略,从而与之相适应,而不是其他的方式。我们感受到人的高效物理过程和让他们可以保持专注的基础设施所带来的生产力。我们设计和维护标准的技术栈和编码框架,将已经过证明的实践变成可重用的引擎。为了自动化一些像移动API创建这样需要多次重复的任务,我们还开发了中间件。所有这些都让我们更高效,更有生产力。我们不相信神话;我们实验、度量、分析并改进。
没有什么是完美的,都只是接近。作为研发机构,我们努力跟上科技的快速发展。在SRIN,同一批人在同一时间进行项目的研发。我们的想法比我们拥有的专家多。我们必须雇佣具备更多技能的人,而那是当地市场无法直接提供的。取而代之,我们只能购买人的能力,当然那会花费更多的时间。而且,R&D的潜力依赖于当地大学生态系统的能力。如果你在美国运营一家R&D中心,那么你可以和顶级的大学实验室建立合作伙伴关系。在印尼,你必须从头开始。所有这些方面都影响了我们作为一家企业的敏捷性。不过,我们认为我们走在正确的道路上,我们正和渴望学习和创新的人们一起工作。
InfoQ:谢谢您接受我们的采访!
Risman Adnan将在敏捷印尼2017大会上做主题演讲。大会将于7月12日~13日在雅加达举行。
查看英文原文:Risman Adnan of Samsung on Nurturing Innovation and Agility in Indonesia