美文网首页
软件外包开发如何管理和沟通?

软件外包开发如何管理和沟通?

作者: 逻辑思维软件 | 来源:发表于2018-02-24 10:36 被阅读73次

    现在很多创业团队或者公司开发一款产品,为了节约时间和成本,往往选择外包。针对于“开发外包难管理和沟通”这个问题,在此搜集了些建议供大家参考。

    说到专业性,传统行业比IT行业要强得多。可以看出的是不管是管理人员的现场管理能力,还是全功能团队中一线人员的全栈能力,传统行业都比IT行业要强一些。相信有人会有些不服,不管什么现场管理,全功能团队IT行业也在做。

    说的没有错,但是,在IT行业里还真不容易找到这么专业的一个团队。而在传统行业里,这种水平的一个团队已经越来越常见了。这是为什么呢?按说大家都是人,通常来讲,IT行业的人能力素质不是还高一点吗?在我们这个行业中,专业团队不是应该更常见吗?虽然我们不一定要比你强,但是也不会比你弱得这么明显啊。

    当然,一方面是由于IT这个行业的工作比较复杂,不容易做到全栈,但我觉得更重要的是,IT行业属于知识工作,知识工作者的现场非常不明显,极难做到现场管理。

    IT行业的管理者,不管是项目经理,产品经理,还是技术领导者,大家也基本都和团队坐在一起。但是坐在一起,并不意味着就能够真的在现场。

    传统行业团队领导只需要看一眼,发现有瑕疵,就知道质量有问题。也就是说,在传统行业进行现场管理的时候,问题都是非常直观的,非常容易发现。在软件行业想做到一点就难的多。

    如果想要追求IT工作者开发效率的极限,软件开发现场并不只是在代码里,代码只是软件开发工作的第二现场,软件开发工作的第一现场,在语言里。

    这里说的语言,不是编程语言,也不是广义的人类语言。指的是我们在从事软件开发工作中所使用的一系列术语和相关的一系列呈现方式和沟通工具。借用一个技术术语,我们所说的语言是一套仅供软件开发所有相关人员使用的、组合的DSL,DSL全称:Domain specific language,中文名叫做:领域特定语言。

    DSL就DSL,还组合的DSL,为什么要说的这么拗口呢?什么叫组合的DSL?我们知道在软件开发的过程当中,需要各种不同的角色参与。每个角色有自己特定的领域,泛泛的讲可以分为三类:我们把产品经理和设计人员所使用的领域特定语言叫做设计语言;把开发和测试使用的语言叫做技术语言;把业务人员、组织管理者使用的语言,叫做业务语言。

    所以我们使用的这套领域特定语言是把这三类语言组合在一起而形成的一套语言。这就意味着我们这套语言非常容易充满歧义,造成每个角色自说自话却难以被发现。

    软件工程里的核心观点是:一个问题被发现的越晚,修正的成本就越高。比代码更早的是沟通,比沟通更早的就是语言。我们用语言去描述沟通的错误,去描述代码中的错误,我们用什么来描述语言的错误呢?还是语言,这就使得整个工作困难重重,难以达成共识。所以我们更需要非常严肃的对待软件开发工作的第一现场。

    之前一些方法试图建立纯粹的统一语言,所有人都说一套语言,事实上这个方法已经被行业放弃了,我们要承认,各自不同的语言有些部分可以简单统一成一种表达以消除歧义,有些部分只能结合。也就是说相关人员要懂多门语言。这个现实是我们必须接受的,软件正在吞噬世界,语言只会越来越复杂。就像我们再努力消除污染,也不能幻想世界回到工业文明以前了。无论我们多么努力的去建立统一语言,也不可能形成一门简单的语言,只能是多门DSL的一个杂合体。

    在交流的过程当中,刻意的统一了语言,会使得我们尽管是一个远程团队,但是在交流的时候,能够很清楚的知道我们在对信息架构在哪一层进行反馈。这不但使得业务方可以反馈技术方,其实技术方也在引导业务方。语言的影响是双向的。

    在技术领域里,我们也选择了隔离性更好的技术架构,使得MVP的代码不会变成我们演进道路上必须长期背负的负累。而之所以在一篇聊“语言”的文章里提技术架构,是因为我们认为真正的架构不是纸上的,也不是代码里的,而是每个团队成员心里的架构。实施一个架构必然也是要进行大量沟通,也需要统一语言。

    而在交流业务的时候,我们刻意的划分了各种不同的子领域,又在每个领域当中统一了名词。统一名词还是比较简单的,最难的是划分领域,我们为此投入了大量的工作,也犯了一些错误,但这些付出是值得的,这之后,我们的沟通变得非常流畅。

    IT行业的人员流动率接近25%,这意味着每年技术团队中至少有1/4的新人加入。即便想尽方法让的团队保持稳定,随着敏捷和精益创业的相关思想慢慢成为我们的工作常识,每个项目存在的时间都不会太长,这使得IT团队经常性的重组,有时是团队被打散,有时是同一个系统从一个团队交给了另一个团队。如果缺乏一种有效的反馈机制,那么无论是人员流动还是组织重组,所造成的切换成本都是一个很大的。尽管这个切换成本无法消除,但是尽量减少切换成本是我们每个专业人员应该追求的,尤其是团队中的技术领导者。

    技术领导者重音在“领导”,而不在“技术”。尤其在今天,技术就是业务。优秀的技术领导者更不能把自己变成一个救火队员,只是被动的响应,尽管救火队员常常因为很容易被人看到而获得一些关注和赞扬,但在中国的文化里,我们都知道还有更高一层的境界,这个境界存在于很多典故中,比如上医治未病,善战者无赫赫之功。同理,软件开发领域的技术领导者们也应该努力使大多数问题发生的基础消灭于无形,这就需要我们走出舒适区,深入到软件开发的第一现场,进行现场管理。

    深圳市逻辑思维软件有限公司(以下简称逻辑思维软件)成立于2013年,在互联网+的全新时代,逻辑思维软件自创立以来,一直专注软件定制开发,以自己专业、技术、创新,专注为上百家企业提供软件外包、系统开发、APP开发、微信公众号开发、网站开发等各种优秀的软件定制开发服务,是国内最值得信赖的高效软件定制外包公司。逻辑思维软件通过严格CMMI质量体系标准和交付流程来保证企业的商业价值,全面打造公司的高度定制核心竞争力。

      作者:逻辑思维软件

      深圳市南山区前海路振业国际商务中心1203

      电话:0755-26566376

      传真:0755-26566376

      邮箱:Super@logicalthinking.cn

      Q Q:2797810740

      原文链接:http://www.logicalthinksoft.com/news.html

    相关文章

      网友评论

          本文标题:软件外包开发如何管理和沟通?

          本文链接:https://www.haomeiwen.com/subject/mocqxftx.html