zoukankan      html  css  js  c++  java
  • 怎么样才叫软件团队开发

    teamwork1.jpg

    在我10多年的软件开发中,经历过超过200人的软件开发团队,也有过两三个人开发的小团队,但无论团队的大小,都是采用一个很简单的软件开发方法:就是把项目切分成模块,然后每个人开发一块,最后集合起来,调试完成,再经过测试,交给客户使用,就算项目完成了。

    在这期间,团队成员之间没有什么交集,相互的代码也没有查看或者了解一下。因此,当某一个成员离职或者病休时,就会带来很大的问题。因为其它人员都对他的工作不了解,不能接手他的工作,导致再开发下一个项目时,就会带来高涨的成本,项目大大地增加延长开发的时间。

    另外,由于成员相互之间没有了解代码,每个人的编写代码的风格也差异比较大,导致代码比较难重用。这种团队开发在目前看来,还在很多公司是存在的。那么怎么样才可以改变这种现状?也就是说怎么样才叫真正的软件团队开发呢?

    由于软件开发从个人开发变成团队开发方式,在中国来说,也近来10多年的事情。在90年代都是个人开发就可以成功了,比如像金山软件的求伯君,就可单兵一个,就可以完成DOS下面的WPS开发。

    放在今天这样的环境里,软件的规模已经非常大,一个人完成的软件,只有在手机领域还有市场,在其它领域已经不太可能了。

    因此,必须建立团队开发为目标。

    为了建立团队的开发,就需要制定各种标准。比如编码规范,有了这个标准之后,就可以让所有团队成员编写出同一样规范的代码,可以减少相互交流的成本,同时也提高了代码的质量。同时也可以让成员看不出来谁写的代码,减少心理上抗拒。但是,是否制定了标准之后,就可以万事大吉了呢?其实不然,由于每个开发人员都是人,是人就有着出错,有着自己个性表现,以及个人的习惯。因而有了标准之后,就需要想着怎么样实践了,以及让标准成为行为准则。

    在以往的团队,或者说一般的团队里,都是制订标准之后,就发送给大家,就认为完事了。但在我看来,制订标准只是软件团队开发的第一步,要落实标准还需要很多的工作需要做。

    那么在软件开发团队里怎么样把这些标准落地,接上地气呢?关键的一环是代码评审。从我经历过的团队,无论大小都没有去实践这个环节,但从国外的软件开发团队来看,没有这个环节的,基本不存在。为什么这个代码评审这么重要呢?

    首先代码编写出来之后,需要团队查看之后,才可以认定这种代码是否符合标准,不是让开发人员认为符合了,就是符合了。

    其次,代码评审是团队开发的体现。如果每个人开发完成的代码,就认为完成了,其实这份代码,还是个人之作,不是团队共同开发的,所以代码的质量可能是低下的,出错是难避免的,设计的方法是一般的。如果一个团队把个人开发的代码进行评审之后,并作出修改,那么才可以说这份代码是团队开发的软件。

    再次,代码评审是经验总结和相互学习提高团队成员的关键。如果这份代码是老员工开发出来的,意味着代码是优秀的,那么新来的成员就可以学习了,从这种例子里学习到最好的代码形式。如果这份代码是新来员工开发的,那么出错,或者不符合规范的情况,就会发生,这时经过团队成员里优秀开发人员的指出,让新员工可以认识到错误,就可以快速地改正,从而快速地向高水平的开发人员看齐。

    最后,代码评审是提高软件质量,降低开发成本的方法。因为通过一个团队的众多眼睛和多个大脑来看查看代码之后,代码质量都会显著地提高,同时把自己开发没有发现的错误,都会在其它人的眼睛里一眼就看出来了。这有点像考试时,自己怎么样检查都不会发现有错误,在另外一个人里一查看就看出来了。降低开发成本是关键,由于不断地通过代码评审,意味着这份代码不再属于开发人员一个人了,而属于整个团队了,大家都对代码了解,从而都可以对代码进行开发,避免开发人员离职,或者病假带来的时间和金钱上损失。另外,在今天这种快速迭代开发的环境之下,保持软件稳定发布,只能通过不断评审代码来确认软件不出大BUG了。

    总之,一个真正的软件团队的开发需要是这样:团队评审需求、团队制订标准、分别编写代码、团队评审代码。如果缺少最后这个评审代码,这样的开发不叫做团队开发,还是跟个人开发是一样的。

  • 相关阅读:
    8.10
    今日头条笔试题 1~n的每个数,按字典序排完序后,第m个数是什么?
    Gym 100500B Conference Room(最小表示法,哈希)
    CodeForces 438D The Child and Sequence(线段树)
    UVALIVE 6905 Two Yachts(最小费用最大流)
    Gym Conference Room (最小表示法,哈希)
    hdu 2389 Rain on your Parade(二分图HK算法)
    Codeforces Fox And Dinner(最大流)
    zoj 3367 Counterfeit Money(dp)
    ZOJ3370. Radio Waves(2-sat)
  • 原文地址:https://www.cnblogs.com/itlover2013/p/4158332.html
Copyright © 2011-2022 走看看