说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

超图研究院院长李绍俊:创新2.0时代的平台软件研发体系

HTML文档下载 WORD文档下载 PDF文档下载
近期,CTO俱乐部采访了超图研究院院长李绍俊,请他重点介绍了超图研究院创新2.0时代的平台软件研发体系构建。2014年12月,在由CSDN举办的“2014技术商业500人论坛”上,李绍俊入选“2014 TOP50最具价值CTO”。

超图每年投入研发的费用约为8000万,2014年的营业收入约3.61亿元,研发投入约占4成比例。近期,CTO俱乐部走进超图,近距离探访超图的“创新2.0时代的平台软件研发体系”,并采访了超图研究院院长李绍俊,请他就超图研究院的一些软件创新机制、质量保障体系建设等做出分享。

李绍俊,北京师范大学资源与环境科学系学士学位;中科院地理所博士学位。2000年,加入超图软件,现任超图研究院院长。2014年12月,在由CSDN举办的“2014技术商业500人论坛”上,李绍俊入选“2014 TOP50最具价值CTO”。


超图研究院院长 李绍俊

创新机制:决策评审

李绍俊介绍说目前超图研究所加上研发中心近200人的规模,在全球做GIS平台软件研发这方面可排到前三甲。

超图软件创新机制中比较重要的一个机制就是决策评审。决策评审是创新的方向或流向的问题。“超图早期研发中心的创新的机制是从上往下安排为主,公司的领导在技术上包括前沿把握方面相对更为集中一些,创新点都是先上层提出来,后面安排研发中心实现。而发展到后期,在创新机制方向上有一定的调整,相对来说既有自顶向下的创新模式,也有自下向上的一个模式。而现在基本是以自下向上的创新模式为主。”李绍俊介绍说。

员工会在创新方面提出申请,因为团队规模较大,很多创新点是来自于一线的员工。提出创新点后,在研发机制里设有一个组织PPAC,可以做员工提出来的创新点的评审工作。在立项评审之后后面还会对它商业计划评审。创新点提出来,一方面是技术上的创新,更关键的是能不能带来客户价值?能不能带来市场回报?这个商业计划决策评审要对它的投入产出比做一个分析。所以这是在软件创新里面第二个非常重要的里程碑。第三个里程碑是发布评审。

怎样判断创新?是否可行?是否可以进入研发阶段?是以客户价值判断为最重要的准则。包括商业计划评审,包括发布评审,通过决策委员会,发现偏离的时候及时纠正,来调整研发的方向。“现在超图产品的研发已经不仅仅是研究院或者是研发中心这部分的工作,它跨到整个超图将近1000人的公司中,研发阶段中包括一些合作伙伴、二次开发商也都会参与进来,突破了传统上小作坊式的研发方式。” 李绍俊总结说。

随着软件的发展,软件的开发模式也经历了一些发展阶段的变化,由早期的瀑布开发模式演进到敏捷开发模式。现在超图的软件开发全部采用敏捷开发模式开发,两周一迭代。

生死线问题:质量保障

伴随着企业的发展,很多公司都会出现产品线越来越长、产品的规模也越来越大的情况,而研发体系的质量保障是非常敏感甚至是一个生死线的问题。超图的产品质量怎样保障?李绍俊介绍说在超图有一套体系——“自动测试+持续集成=品质持续提高”的软件研发体系。据了解,现在超图的软件规模已经非常大了,平台软件总的有效代码数已经突破500万行,代码总量已经相当于半个Linux的代码量了。这么大体量的代码,它的研发管理包括质量控制,对于软件研发体系来讲都是比较大的难题,这就需要一个软件研发体系的支撑。

以前软件测试往往聚焦在软件测试方法上,包括单元测试之类的,实际上任何事当规模大到一定程度,本身也会由量推演到质变。“超图早期时,研发有个非常明确的岗位叫软件测试工程师。而现在超图研发中心里已经没有这个岗位了。以前软件测试工程师就是做软件测试,大量的工作是拿鼠标点、拿键盘敲,测试软件的响应,也就是结果是否正确。而现在,测试工程师的职责发生了非常大的转变,现在测试工程师已经不像以前那样工作了,是编写测试程序。现在软件测试工程师已不再是以前那个意义上的软件测试工程师了,他本身也是一名软件开发工程师,只不过他做的开发是测试用例开发也就是测试程序的开发。”李绍俊解释说500多万行代码靠人工点不过来,覆盖不过来,肯定有漏掉的一些领域。现在软件测试已经不再单纯依靠人工的测试,而要依靠自动化的测试。


在超图的自动化测试体系中,自动化测试程序要求有几类的覆盖:功能点覆盖、需求点覆盖、缺陷覆盖(所有缺陷都要有测试用例的覆盖。确保以前出现过的缺陷新的版本不要再出现)。通过这样的体系超图现在已经累计近2万多个测试程序。每一个测试程序里面少的会有十几个,多个会有几百个测试的功能点。

软件规模做大了之后,还有一个让人头痛的就是软件编译,针对这个问题,超图现在在研发中心采用网格计算的技术来加快编译的流程。另外一点在软件研发中大量采用了服务端自动化的计算能力。

除此之外,软件研发里面还有非常重要的机制就是代码审查。比如新员工进来以后新员工写的代码可能有时候各方面考虑不是那么全面。所以超图研发中心原来有一个机制,员工提交的代码一定要经过他的代码指导员审核,包括团队里面技术负责人的审核,代码才能提交到库里面去。也就是说至少要有两个审核点才能集成到这个库里面去。虽然流程描述起来简单,真正做起来的时候其实很痛苦。李绍俊介绍说,后来超图结合第三方软件,打造出了一个代码审查的体系,相当于通过信息化来提升这块的工作效率。不仅仅可以做代码审查,也可以看到研发团队工作量,都是一目了然。

“我们现在已经形成了一个研发体系,通过一些信息化的手段来提升软件研发的工作效率,实现创新2.0时代的软件研发。“李绍俊总结说。

通过这样一些体系,超图在GIS领域也做出了比较大的创新点:

  • 2004年:跨操作系统GIS(高性能支持Linux);
  • 2009年:软件产品二、三维一体化创新;
  • 2011年:全功能移动GIS;
  • 2013年:云GIS软件技术;
  • 2014年:对倾斜摄影三维的支持。


欢迎大家投稿,分享更多团队发展与行业思考,投稿至CTO俱乐部邮箱:ctoclub@csdn.net

还不是CTO俱乐部成员的各公司技术负责人,欢迎立即加入俱乐部:cto.csdn.net 。

更多俱乐部动态,欢迎扫码关注微信号:



前谷歌Android开源项目主管Queru加盟雅虎 Windows 8.1售价出来了!分别是119.99美元、199.99美元 对AngularJS进行性能调优的7个建议 为什么说UX设计师的黄金时代已来临? 豌豆荚:“应用内搜索”是打通移动互联网最具竞争力的入口 苹果发布会后的冷思考,64位芯片为开发者带来了什么? 中兴Geek评测:高性价比的英特尔处理器智能机 SAE的资源、安全隔离与Container 平板电脑悬了 Phablets或成为未来移动设备的主流 拿什么拯救你:黑莓今年将裁员4500人 推荐10款免费的在线UI测试工具 最好的Java IDE之争:Eclipse PK IntelliJ IDEA Intel发布E5 2600 v2处理器 开放硬件监控信息 XP寿终大限将近 微软再次呼吁用户尽早“分手” Dropbox CTO:离开办公室就焦虑的技术宅男 看雪学院“走进企业看安全”活动百度站落幕 九大设计技巧+作品赏析 激发你的创作灵感! 排名前十CEO的工资条,你怎么看? 麻省理工TR35之IT界年轻有为创新者(下) Storm的“翻版”:LinkedIn开源实时数据处理系统Samza 呼吸监测耳机:一个在“呼吸”上做文章的可穿戴设备 谷歌7年210亿美元的基础设施建设,及可供17万家庭使用的风电 Touch ID很安全?德国黑客宣布已绕过苹果指纹识别系统 纽约警方鼓励用户升级iOS 7 你想好了吗? Android开发者不可或缺的四大工具 Mozilla开源TogetherJS:让网站拥有实时协作功能 可穿戴技术专家Jawbone UP向所有开发者开放API 18款在线代码片段测试工具 Gartner咨询公司研究副总裁彼得&#183;福斯特布鲁克:互联网安全新兴威胁与挑战 美国智库战略与国际研究中心(CSIS)詹姆斯&#183;刘易斯:网络安全神话、传说与现实 云安全联盟中国分会理事赵粮:建设可信的云生态环境 struct(结构) 类型可以转化为 Variant吗?怎么转化?然后如何将Variant类型的变量恢复为struct结构 用lotus script怎样实现对数据库指定文档的修改? 问个简单的线程问题,大家别见笑 :)!!! 关于asp.net的配置问题 jsp、oracle8.1.6的中文问题 在线等待 关于重新启动计算机的问题,谁能帮我? 各位,帮忙看看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! daehappy进来取分,感谢给分! 各位大虾,有谁知道oracle8i,oracle9i是如何报价的,非常感谢! daehappy进来取分,感谢给分! daehappy进来取分,感谢给分! 如何驗証日期類型? 打包是如何解决vcl60的错误? 很急,谢谢 请问:单文档中如何在退出时去掉弹出的“是否保存文件“消息? 还没有见过这样的贴子,但又在实践中经常碰到的问题,怪事。。。。 ??IDispatch error #3101:什么意思?? 怎样实现程序中的取消功能 各位,上海哪边的房子便宜一点?(700左右,房内只要有简单家俱即可!) 一个<xsl:if>的问题 vc6.0 能否直接编译.mak文件?该如何配置? 关于XP中的PF使用率和字体占用内存的问题 有关安装nt server的问题 有关安装nt server的问题 关于数据库用户的问题! 很奇怪的现象,有人知道吗? 初级问题 电脑自动重启,有点难度,高手请进,如果对,绝对给分! 怎样用DAO或ADO访问EXCEL数据表? 请问该事件可以通过发送消息或其他的方法来触发吗? 有没有关于开发控件的文章和例子,请各位大侠帮忙!!! 告诉那有免费的数字化软件马上送分200 请问哪里有 Remote Authentication Dial In User Service (RADIUS)的资料或原码? 我怎么不能看你们的问题啊 关于数据库 window.parent.oa_middle.oa_userlist.document.location.reload();报错:对像为空或不存在 看如下的sql语句如何才能够把结果显示在grid内? 准备学习j2ee, 大家推荐些网站和书籍,我准备狂啃二个月!对了,我连它的开发工具还不知道呢,是不是还用jbuilder? 初学者,如何在C++ Builder中打印? DCOM编程要求在客户端安装DCOM,怎样安装DCOM,怎样判断是否安装了DCOM? 很小的小问题关于winsock 电话语音卡支持adpcm文件格式的直接播放吗? 关于Access数据库的两个问题,急! 一个初学者的简单问题。 大家好,一个小技术问题,不知道怎魔办? 两句的代码都出现问题!憋闷 高分寻求《数据结构-C++语言描述》书友,来者有分 谁知道哪儿能下载access的jdbc驱动程序吗? 好消息,Win2000下自定义报表问题! ATL里使用静态库的问题 我看不见你们问题的内容 试试难不难??HELP 结晶法 .加热法 .蒸馏法.的区别(在什么时候用结晶法.什么时候用加热法 .什么时候用蒸馏法. 地球上最早出现的生命形式是?A没有细胞结构的病毒等生物B多种有机大分子的集合体C具有细胞形态的单细胞生物D由多个细胞形成的生物体 生理盐水的浓度是重量比吗? 那个,蒸馏瓶可用来加热么?若能,那么是直接加热还是间接才能加热? 关于压强的选择(初二)一名杂技运动员表演时,展示了独掌支撑的雄姿,此时他的手掌对地面的压强是__A500PaB5000PaC50000PaD500000Pa 关于生理盐水的浓度问题,急生病了,都要去掉盐水,如果说盐水的浓度偏高或偏低人体会怎么样?如果换成水会怎么样? 氢氧化钠和氯化钠反应生成什么,请写个化学式 铜和氧气生成什么 医院中生理盐水的浓度是多少生理盐水的浓度是多少 写步子强壮有力的词语 战斗机以极快的速度俯冲向前方目标投弹战斗机以极快的速度俯冲向前方目标发射导弹,导弹会发射不出去吗?这几天央视1套节目的电视剧,那个2号女武器专家说的.这种说法对不对?看来问题不 请问农业银行对账单上的现支和转支是什么意思? 表示强健而有力的词语是什么 战斗机最快俯冲记录是多少什么战斗机? 氢氧化钠如何变成氯化钠? 制备乙酸乙酯时可以用哪些方法克服副反应 战斗机高速向俯冲时,经常来个底朝天,这是为什么?战斗机高速向俯冲时,经常来个底 氯化钠加氢氧化钠反应 百变机兽洛洛历险记的冲击波是多少集出现的? 战机俯冲是不是人血液有什么问题吗?看了绝密飞行,战机要俯冲2000节速度放导弹,为什么俯冲的时候那个人失去知觉了?平飞的时候4马赫都没事啊. 商转是什么意思? 关于制备乙酸乙酯反应的问题沸点:乙酸乙酯77.乙醇78.乙酸118,为什么反应物中应是乙醇过量,反应时边滴加醋酸边加热蒸馏。77.1与78.3如此接近,这样乙醇与乙酸乙酯不就一起被蒸出来了 室温下,向NaCl某溶液中加入10克NaCl晶体,充分搅拌后,尚有部分晶体未溶解,再加入10克水后,剩余晶体...室温下,向NaCl某溶液中加入10克NaCl晶体,充分搅拌后,尚有部分晶体未溶解,再加入10克水后,剩 试分析走滑断层与转换断层的联系与区别? 洛洛历险记冲击波必杀技是什么 过滤利用的原理是什么 内燃机的转速就是飞轮的转速吗? 洛洛历险记中冲击波是什么车? 新日电动车电池保养电动车的电池是用完了在充点好还是在有电的时候充电好 请辨别下图中得三个断层分别是什么断层,并分别解释为什么会形成这样的断层 地球是最早出现的原始生命,可能是什么类型 过滤的原理是________,适用于__________ 断层的定义及断距断层的定义,其中断距指什么 英特尔处理器数字代表什么意思 新日电动车专用电池 内燃机中,飞轮的作用? 震荡波角度怎样使牛头人释放震荡波的时候直接放出3道每到角度30度向前的每到的伤害一样 引力势能是负的 生长断层的定义是什么? 什么是冲击波 冲击波的作用是什么 引力势能是负的,那么怎样解释这个呢?在计算引力势能时,我们把无限远设为0势能面,可是在计算重力势能是,我们却把0势能面定义为地面.同样是万有引力,计算势能的标准完全相反? 转换断层与平移断层的区别,最好有图示! 平衡常数与吉布斯自由能请问这题选什么? 分子引力的定义是什么? 过滤的原理是什么? 氢氧化钠和盐酸反应生成的氯化钠是气体吗 求详细的解释为什么引力势能是负的? 请问氯化钠溶液PH值为5.5 需要加多少克氢氧化钠到7 20度 根据意思写词语:1(年轻人,孩子,动植物)强壮,健壮 2.看见别人有某种长处,好处或有利条件而希望自己也有. 吸气冲程是靠飞轮惯性的吗开始内燃机工作不是要由外力先启动吗 NaCl 溶液放入NaOH溶液中 NaOH 的PH值减少吗? 地球上最早出现的生命形式 (年轻人、孩子、动植物)旺盛地成长,健壮,强壮.相对应的词语是什么 在200g10%的氯化钠溶液中,再加入10g水,这时溶液的溶质质量分数是 强健有力的词义写词语生生世世 冲击波是什么?假设有氧气瓶. 生理盐水的浓度是多少? 二氧化碳,一氧化碳,氮分子的混合气体通过灼热的氧化铜,物质完全反映后得到混合气体通过足量石灰水,剩余气体是(水蒸气不计) 震荡波或者冲击波靠什么媒介来传播的? 向10%的90g氯化钠溶液中分别加入10g氯化钠,所得溶液的溶质质量分数为多少
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘