软件咨询——并不像看上去那样简单

  很多做过开发的都有过做咨询顾问的幻想——苦心钻研一门技术,然后成为这个领域的专家,穿梭于各种充满诱惑的华丽场所,给那些像热锅上的蚂蚁一样焦急的客户提出高明的建议,而客户会立即毫不犹豫地采纳。更重要的是,每一分钟的工作都能捞上一笔不菲的收入。咨询真的就像看上去那样容易和有诱惑力吗?

咨询业流行着这样一个故事:开春的头一天,吉克和卢克决定去猎熊。当他们到达小木屋时天色已晚,不能猎熊了,所以他们不得不先休息一晚。天刚亮时卢克就醒了,他走进外面的树林,开始享受大自然的清新空气。不幸的是,在他回来的路上遇到了一只正在寻找早餐的灰熊。熊扑向了卢克,卢克则冲向木屋。就在熊将要抓到卢克的脖子时,卢克仰面朝天摔倒了,而熊扑得太猛停不住,直接跨过了卢克,冲进了开着门的小木屋。卢克想了一下,立刻跳了起来并关严了木屋的门,冲着屋里睡觉的伙伴喊道:“吉克,你先把它剥了皮,我再去弄一只回来。”

如果听故事的人中包含有IT经理和咨询师,他们对于这个笑话的理解则截然不同。IT经理们往往认为:“卢克就像是个咨询顾问,他们总是带来麻烦,然后把麻烦留给我们自己去解决。”而被这句话气够戗的咨询师却说:“卢克就像是我们的客户,那些IT经理们总是自己处理容易的问题,而当他们遇到处理不了的问题时,他就会把这些问题和咨询顾问一起锁在小木屋里。”

这样的理解偏差,这样的矛盾,在咨询过程中无处不在。毕竟,咨询并不会像开饭馆一样简单。

软件咨询,不同于其他咨询

       软件咨询业是与通常意义的管理咨询、投资咨询、人力资源咨询、营销与市场咨询等非技术性咨询是完全不同的。谈到这里要先从国际上比较著名的咨询公司谈起。

大家耳熟能详的国际上著名的咨询公司:毕博(BearPoint)、麦肯锡(McKinsey)、波士顿顾问公司、罗兰贝格、正大咨询等。国内的知名咨询公司:北大纵横、和君创业等。这些咨询公司大都是从事管理、投资、法律等等方面的顾问咨询。

软件咨询本身有着很厚重的技术和技术应用经验成分,这是与其它咨询最大的不同。因此软件咨询公司一般不会招聘应届毕业生进入到公司来从事咨询业务,而其他类别的咨询公司都会招聘应届毕业生,通过培训让他们参与咨询工作。当然,这也与软件咨询业的成熟度有关。相比较而言,管理咨询业要成熟的很多,流程分工也非常细。软件咨询所需要的技术经验和技术深度不是简单的通过学习就可以达到,而是需要切身的经历才能做到。没有人会相信做软件咨询的人没有5~10年以上的项目经验的能够做好软件咨询,甚至,只有10年以上经验的人才有资格来从事软件咨询这项工作。

在国内,软件咨询基本上处于萌芽状态,到目前为止还没有一家完全成形的专业软件顾问咨询公司。UMLChina应该算是最早成立并在国内提出做软件咨询的组织了。自2000年成立以来,专注于上门为企业作UML/UP团队训练。训练完全和受训团队当前项目结合,“训练的过程就是指导团队用UML/UP方法实作团队当前项目的过程”。UMLChina在团队训练方面已经有了丰富的积累,涉及的软件开发项目也包括各种类型。不过,UMLChina的大多数咨询业务都是伴随着企业内训开展的,并不以咨询项目为主体。他们离真正的软件咨询还有一定的距离。

国内软件咨询的方向

国内的软件市场,到目前为止仍然停留在管理信息系统(MIS)的基础上,几乎绝大多数的软件项目都是在做管理信息系统,这包括各行业的管理信息化、电子政务、网上采购、电子商务、门户网站等等。此外,还有大量的OA系统仍然在开发和规划中,还包括其他一些技术含量不是很高的软件项目。

在软件项目中技术难度较高的部分,诸如数据抽取挖掘、实时控制、操作系统、自动控制系统等等大都仍然采用国外的现有技术来做实现。

除此之外,在国家制定的工程项目管理办法中,除了信息系统外的建设工程到目前为止都有监理的存在,而信息系统工程的建设一直都没有国家制定的关于质量和工程监理方面的管理办法出台。于是,2002年国家提出了信息工程监理的问题,于2002年12月15日信息产业部计算机信息系统集成资质认证工作办公室发布了《信息系统工程监理暂行规定》并于即日开始实施。

从上面的内容中我们可以看到在国内进行软件咨询工作主要是如下三个方向。

第一个方向:软件技术和管理咨询

       这个方向主要包括软件技术、开发过程、项目管理等三个方面的指导和咨询服务。这里的管理咨询属于项目管理范畴,而不是企业管理的概念,虽然两者有相通之处。

面向的客户目前主要是软件企业。虽然国内软件项目中采用难度较大的技术不多,但是,软件企业一旦遇到了技术问题,也就遇到了生死要隘。因为软件开发人员缺乏对新技术的掌握和学习的机会,公司几乎不给员工提供培训和进修学习的机会,这就造成了很多软件开发人员长时间的停留在相对较低的水平上,而得不到应有的提高。

因此在一定的情况下,国内的软件企业需要相应的技术支撑和服务。在国内软件业逐渐国际化和世界接轨的过程中,一些软件公司也在不断的提高自己的管理水平和技术水平,他们同样需要掌握先进技术的有经验的人员能够给他们提供相应的支持服务,这种服务一方面是通过咨询实现的,另一方面是需要通过培训来推广的。

第二个方向:软件技术和管理培训

技术培训是附着在咨询业务之上的一种咨询附加业务。它可以给咨询带来更多的内涵和外延的扩展。一方面让咨询公司能够获得额外的收入,另一方面可以扩大公司的影响,推动咨询业务的发展。

其培训客户分为两个方向,一个是软件企业的技术人员,另一方面还包括大中型企业中的信息系统相关人员。单纯给软件厂商提供培训是无法满足市场的实际需求的。以电信行业为例,从2001年开始,已经开始招聘一些曾经在软件行业从事过实际项目开发的技术人员进入其中,为他们的行业信息化提供直接的支持。这种支持不是一个咨询公司可以随时提供的。而且,这些企业也不会让咨询公司的人员过来提供长期的支持服务,毕竟咨询的服务费用都是相对较高的。而自己招聘过来的这些人员必然被要求要了解国际上先进的技术,同时可以随时在企业的信息化项目中完成最直接的支持和必要的审核。这些人同样需要获得相应的知识,需要参加更多的培训。

第三个方向:信息工程监理服务

信息工程监理服务是随着市场的要求,伴随着国家制定的《信息系统工程监理暂行规定》的推广而兴起的。在此之前,大家只知道一般的建设工程需要建立,虽然在软件项目中遇到了很多问题,但是,因为缺乏相关的法律法规,也没有办法进行信息系统工程的监理工作。

软件项目因为期项目自身的特殊性决定了它与硬件项目的差异,因此它们的监理过程是不同的。硬件工程是在主体硬件设备已经完成的基础上进行安装测试试运行的过程,而软件工程则是在主体软件没有开发或者尚未开发完成的情况下启动的工程过程,因此两者有着生产制造过程的差异。

其他工程项目的监理一般都是由监理公司完成的,而目前看来,这些监理公司大都没有有经验的软件技术人员的存在,因此无法完成信息系统工程进行有效可靠的监理工作。因此,信息系统监理工作必然需要一个组织化的形式出现,或者就是在现有的监理公司内部形成这样的团队或部门。

软件咨询公司是肯定可以扛起信息系统工程监理这杆大旗的。因为软件咨询公司的技术人员大都有着多年的软件项目经验,也有着对高新技术的掌握和控制能力。因此,软件咨询公司提供信息系统工程监理服务,也就属于义不容辞的业务范围了。

由此可以看出信息工程监理服务是站在甲方的立场上完成项目的方式。除了为甲方提供的信息系统工程监理服务外,作为监理服务的增值服务项目的规划建议,也将成为软件咨询公司的一个重要工作内容。软件咨询公司将通过前期的对整个项目的可行性研究工作,为甲方提供出关于这个项目的几年内的发展规划和技术应用建议。只有这样,在后期的监理服务中,软件咨询公司才能获取到更多的对用户业务知识和该项目发展状况的了解,来更好的完成对整个项目的监理服务工作。

因此,信息系统工程监理服务包括两个业务方向:信息系统工程监理服务和可行性研究规划制定服务。

软件咨询中国实践

2003年,Ivar创建了Ivar Jacobson International有限公司,专做软件咨询顾问业务。现在已经在全球四个国家有了分公司,新加坡、美国、瑞典、韩国。2005年3月,在CSDN举办的“技术主管圆桌会议”在线聊天活动中,Ivar谈到了他正在积极筹备的雅各布森中国公司。

Ivar在新加坡和韩国开展咨询业务已经有近一年的时间了,业务增长速度非常快,现在遇到的问题就是怎样能够控制发展速度的问题。谈到中国市场,Ivar并不认为在中国有很多UML或者统一过程的专家,更多是UML和UP的研究者,他们主要通过书本自学获得一些知识,然后通过自己摸索的实践取得一些经验。Ivar希望能把这些人招聘到他的中国公司,用原汁原味的思想培训他们,使他们成为真正合格的咨询师,然后到客户那里作咨询。Ivar坚信,雅各布森中国公司一定能够吸引一批优秀的人员加盟,从而使公司获得成功。实际上,目前已经有相当多中国软件工程师在和雅各布森讨论如何合作,从而改进他们内部软件开发过程。

面对国内目前很多UP、Use Case被误用的情况、甚至在实施的时候被裁减,Ivar指出,这也是他来到中国的目标,就是要改变这种状况,帮助这些人正确的使用先进的思想,让越来越多的人能够正确的使用这种方法,使方法能够被项目所用。在雅各布森公司内部,已经不再引用“统一过程”(Unified Progress)这个词,更多讨论的是“统一基础”(Unified Foundation),在统一过程基础上做了一个非常大的简化。

Ivar认为,永远不要低估开发软件中间所牵涉到的知识和技能,因为作为软件开发来说,是世界上最复杂、最高智力的集体活动。开发软件是如此复杂的一件事情,所以一定要有好的对实践的指导,这也是咨询公司的价值。

软件大师的咨询生涯

同为软件大师的Ivar Jacobson和Gerald Weinberg,在职业生涯上有很多相似之处:在软件领域都有超过40年的工作背景;都曾在IBM工作过,后来离开IBM;都有一定数量的高端计算机著作,并因为在某一个领域的贡献而获得大奖;都是开始做开发,后来都转入咨询领域,做咨询师,并开办了自己的咨询公司……他们的咨询生涯或许对国内由开发转入做咨询的人有一定的借鉴意义。

Ivar Jacobson博士被认为是深刻影响或改变了整个软件工业开发模式的几位世界级大师之一。他是模块和模块架构,用例,现代业务工程,Rational统一过程等业界主流方法/技术的创始人。Ivar Jacobson博士与Grady Booch和James Rumbaugh一道共同创建了UML建模语言。

1987年,Ivar成立了瑞典Objectory AB公司,之前曾任爱立信公司的首席软件体系架构师。1995年,Objectory AB被Rational收购,Ivar也进入Rational,担任Rational Business Engineering部门的副总裁,直到2003年Rational被IBM收购。

离开Rational以后,Ivar主要从事的研究和活动主要集中在Active Software和AOP,写了新书,从事一些他个人非常喜欢的软件开发的研究。2003年,Ivar创建了Ivar Jacobson International有限公司,专做软件咨询顾问业务。现在已经在全球四个国家有了分公司,新加坡、美国、瑞典、韩国,今年正在筹备中国的咨询顾问公司。

谈起如何走向咨询业的,其中还有一个小插曲。在Ivar创建咨询公司之前,他本人从来没有这个计划进入咨询这个行业,直到两年前,一家韩国公司找上门来,让Ivar来做公司顾问。Ivar在这家韩国公司里面,每当看到他们在产品设计和架构上,非常错误的运用用例、架构设计等技术,都忍不住像看到自己的孩子在外受欺负一样的要哭。在这期间,Ivar还发现,很多非常优秀的软件技术,在全球很多地方在被错误地使用,没有让新技术真正发挥出作用,一方面,这让Ivar感到惋惜,另一方面,这实际上也证明有一个巨大的需求,需要有人来改变这种状况。Ivar因此而决定走进咨询领域。

Ivar对软件咨询公司的定位是:在一个非常实用、非常接近现实的环境里,教会人们如何来正确的使用或正确的开发软件。“正确地做事”和“做正确的事情”一样重要,而一个好的开发过程或开发模式,应该同时回答了这两个层面的问题。

Jerry的专业背景是物理学,但是他对计算机非常热衷。1956年他离开学校,去IBM做计算机工作,随后IBM支持他回到学校,在密歇根大学拿到了“通讯科学”(communication science)的博士学位。之后,Jerry又回到IBM工作,在研究院里做研究和给IBM的软件工程师授课。

离开IBM后,Jerry开始逐步转向做系统开发,投入到美国海军空间项目中,并在项目中担任设计师的角色,负责设计美国空间轨道系统的架构。在多年的开发过程中,Jerry逐渐领悟到,软件开发的根本问题是人的问题,要解决人的问题,就要去做人的工作。“编一行代码易,改一个人的脾气难。”在担任过软件开发员、系统设计师、软件项目经理、大学教授、培训师等多个角色后,Jerry和他的人类学家妻子Dani成立了Weinberg & Weinberg 咨询公司,来帮助软件工程组织以更彻底的人性的方式管理软件过程。Jerry也从此开始了他的独立咨询师和培训师的职业生涯,为那些来自美国、欧洲、澳大利亚、新西兰和中国的软件工程师提供培训和咨询服务。

作为咨询顾问,Jerry对软件工程师的建议是:尝试着将自己知道的东西教给其他人,因为通过这种方式,你们的理解才会更加确切。尝试着将自己知道的东西记录下来,因为当你对某个事物还不是很了解的时候,写作可以使你的思维更加清晰。

而对于所有咨询顾问,Jerry的建议是,在开始一项新任务时,要牢记住几条咨询法则:(1)无论客户和你说什么,问题始终存在。(2)无论问题最初看起来怎样,它始终是人的问题。(3)不要忘记客户是按时间付费,而不是按你的解决问题的程度付费。(4)如果他们没雇佣你,就不要为他们解决问题。

软件大师,UML创始人之一Ivar Jacobson博士于3月中下旬来华,3月23日做客CSDN,与国内软件业人士就中国软件及世界软件业的发展,特别是2000年以来软件工程方面的发展和中国软件人员的成长等进行了交流、研讨。此次活动由CSDN网站管理频道和雅各布森(北京)有限公司共同组织。

3月23日上午,在燕翔饭店3楼多功能厅,Ivar博士和IBM-Rational大中华区总经理陈致平先生做了两场精彩的主题演讲。Ivar博士的演讲主题是:Unified Foundation;陈致平先生的演讲主题是:Rational 业务驱动开发--整合团队协作的软件开发平台。

3月23日下午,在CSDN会议室,Ivar Jacobson博士和来自各企业的技术主管举行了圆桌会谈,就软件工程的最新方展趋势和软件工程师的职业发展,展开了深入的讨论。参加此次会谈的嘉宾有:Ivar Jacobson、蒋胜(雅各布森中国公司总经理)、潘加宇(UMLChina首席专家)、钱岭(贝尔实验室资深研究员/软工专家)、郭眈(百度公司技术总监)、刘清富(百度QA主管)、青润(CSDN软工版主/资深软件咨询师)、刘新生(软件咨询师)、周坚(华为业务软件研发部平台开发管理部部长),现场还安排了20多个观众席位。整个会谈共分为三个议题:软件工程领域技术发展趋势(潘加宇主持)、软件工程师职业发展道路(熊妍妍主持)、软件咨询业的发展机遇(青润主持)。

软件咨询——并不像看上去那样简单相关推荐

  1. .net 集合分成几个等数量集合_如果不想下载软件,那就看一下这几个网站吧

    通常来说,就算不是做设计的人,平时也需要用到一些软件来进行辅助工作 比如说平时的证件照换底色.识别图片上的文字等等,对我来说下载一个新的软件真的是挺让人烦的 所以如果你不想下载软件的话,可以看一下下面 ...

  2. 小米电视怎么下载软件?用一起看TV宅家不无聊

    如今各种电视下载软件层出不穷,让大家都看花了眼.面对如此多的选择,到底哪个才是比较适合小米电视的呢?为了节省大家挑选软件的时间,今天小编就给大家介绍一款超级好用的电视下载软件,它的名字叫做" ...

  3. u盘电视测试软件,智能电视安装软件无法识别U盘怎么办?简单几招教你搞定!...

    原标题:智能电视安装软件无法识别U盘怎么办?简单几招教你搞定! U盘是智能电视及网络机顶盒安装软件必备的工具,但是也经常会出现U盘插在智能设备上不识别的情况,那么针出现这类情况有哪些原因呢?又该如何解 ...

  4. CorelDRAW2023新品发布会重磅来袭!CDR2023软件新功能抢先看!

    一转眼又是一个冬天,Corel公司又双叒叕放大招了,CorelDRAW2023新品发布会将于2023年3月左右发布.虽然新版本还没有上线,但这一消息已经引起了广大设计师的关注.这次的 CorelDRA ...

  5. 使用cost733分型软件进行SOM分型及CDO简单操作

    前期cost733安装完成后,开始正式利用该软件和下载的数据开展天气分型.注意到使用NC数据分型前需要对数据进行处理(处理过程见后文),因此还需要安装一个名为CDO的软件,该软件全名是Climate ...

  6. 做简单的android 软件推荐,Android_适用于Android开发的简单聊天软件,适用于android 开发。是一个简 - phpStudy...

    适用于Android开发的简单聊天软件 适用于android 开发.是一个简单的聊天软件,包括知识点,各个控件的运用(ExpandableListView,ViewPager,Spinner,Line ...

  7. CTF 这个看起来有点简单

    这个看起来有点简单分值:10 来源: 西普学院 难度:易 很明显.过年过节不送礼,送礼就送这个 格式: 解题链接: http://ctf5.shiyanbar.com/8/index.php?id=1 ...

  8. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

  9. 有哪些软件是可以免费看漫画的?这3款软件带你梦回童年

    有哪些软件是可以免费看漫画的?漫画是一代人的童年回忆,还记得俺当年,从早餐的牙缝里抠出了六本<七龙珠>结果硬是饿出了急性肠胃炎,到现在还有病根--然而由于种种原因,尤其是一些已经完结的,或 ...

最新文章

  1. 笔记:Linux下C编程实现每隔一秒向文件中写入当前时间
  2. Ubuntu16.04 Linux上比较好用的截图工具Flameshot
  3. 圆柱属于能滚动的物体吗_中班科学活动教案:滚动的物体教案(附教学反思)
  4. ubuntu下 apache phpmyadmin 的安装和使用
  5. python迭代算法_Python实现简单的梯度下降法
  6. python requests get post_python+requests进行get、post方法接口测试
  7. 晋升工程经理几个月后,我选择退回编程岗位的起点
  8. Nginx 设置文件缓存时间
  9. select .. into输出单/多行
  10. ApplicationContextAware使用理解
  11. linux 在ftp gt 下登录,cutftp显示的是啥意思?
  12. 免费图片识别文字软件-办公利器
  13. arduino编译失败_保存后,Arduino代码将无法编译
  14. 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母
  15. qlikview连接mysql_QlikView 通过ODBC 连接IBM DB2
  16. C语言再学习25——常用字符串函数归纳
  17. CSS 垂直对齐vertical-align属性
  18. 织梦网站频道管理员不能添加栏目
  19. 【pytorch torchvision源码解读系列—1】Alexnet
  20. 警惕!最新勒索病毒incaseformat来袭!清除方法如下!

热门文章

  1. 1 wordpress主题开发-起步
  2. Monit的编译(交叉编译)及使用
  3. 关于传感器标定(imu标定,camera标定,camera-imu联合标定)
  4. 32.768kHz的晶振的意义。
  5. 《全网唯一》解决华为OpenEuler 22.03LTS重启后,docker丢失自定义网络,docker-compose报错: network not found
  6. 简单c语言实现三子棋/多子棋
  7. Java项目:大学生校园帮管理系统(java+Springboot+SSM+layui+HTML+Mysql)
  8. Oracle查出不属于该表的字段
  9. 2022-08-03 乐理知识(二) 简谱的拍号——拍号,小节,音符,附点和休止符的分类,什么是拍子,拍子的强弱关系,常见拍子:单拍子.复拍子和混合拍子,一拍子和散拍子
  10. YOLOv7改进结构系列:最新结合DO-DConv卷积提高性能涨点,打造高性能检测器