计算机光盘软件与应用工程技术Computer CD Software and Applications2013年第02期论敏捷开发中的团队建设任思迷(武汉大学软件工程国家重点实验室,武汉 430072)摘要:自上世纪“软件危机”发生后,经过最近二十年的实践与应用,敏捷开发被证实是一种有效的新型软件开发方法并发展起来,甚至被其他行业所借鉴。作者认为,取得高层的支持,根据敏捷开发的特点组建团队,运用师徒结对模式和可持续发展的运营理念,帮助团队理解敏捷的实质并实践真正敏捷意义上的团队管理,是有效的解决之道。关键词:敏捷开发;团队建设;师徒结对模式;培训中图分类号:TP311文献标识码:A文章编号:1007-9599 (2013) 02-0180-02上世纪60年代中期,大容量、高速度的计算机出现,敏捷开发针对快速变化的需求,提出的价值观包括重使得计算机的应用范围迅速扩大,而软件的可靠性问题也要一点:人与人之间的交互,优先于过程和工具。其特点越来越突出,软件危机开始爆发。如今,超出预期的开发是:针对问题的要点重点,进行最直接的沟通交流,得到周期和经济成本、不尽人意的软件质量、官僚的体系制快速有效的解决办法。而有效沟通也是职业化程度的要求度、迅速变化的市场环境等因素,使得繁冗、笨重的软件之一。国内对于职业化教育的力度有限,特别是二三线城开发过程越来越不能适应现实的需要,导致软件项目的失市的职业化水平偏低,因而在运用敏捷开发时,会遇到项败率很高。敏捷开发便是在这种背景下应运而生[1]。目组成员之间相互沟通时的障碍。比如即使发现有关键问1 相关概念题存在,下级碍于情面“不便”提出,或是“以上级的意软件开发活动的目的是有效地得到一些工作产物,即见为准”。某些情况下,由于官本位作祟,上级对于不同一个可运行的有意义的系统,及其支持文档等。软件开发意见或变化不够包容,减弱了沟通的有效性,并进一步抑是一种非常复杂的脑力劳动,需要通过团队协作完成。软制了创新的火花。这样的氛围加重了形式化,导致团队未件开发方法,是软件开发过程中所遵循的方法和步骤。关能直面关键问题并进行有效解决,更谈不上对于变化的快于组成软件开发的活动,已提出了各种模型,如:软件生速反应。这样,实际未达到敏捷的效果。存周期、软件开发模型、软件过程等。这些模型都包含了 缺乏对敏捷开发的本质理解,由于生搬硬套造成以下经典的阶段:分析、设计、实现及交付、维护。通过的问题软件开发的实践证明,比如在开发的早期阶段多做努力,有一种普遍的误解是:只要运用了最佳实践中的方会较显著地减少在后来的测试和维护阶段的风险和费用。法,便可以得到预期的效果。而实际上,如果没有理解方因此,针对分析和设计阶段的软件方法特别受到重视。其法的真正内涵,仅仅使用方法的外壳即形式是解决不了他阶段的方法,从程序设计发展的初期起就是研究的重根本问题的。比如国外多年的敏捷开发经验告诉我们,敏点,已经发展得比较成熟,如程序设计,维护过程等。捷开发中有一些值得推荐的例行团队活动,如每日立会新型的软件开发方法——敏捷开发是一种关注价值、(Daily Standup Meeting)、回顾(Retrospectives)、消除浪费、以人为核心、迭代、循序渐进的开发方法。在看板法(Kanban)等。作者曾亲身经历过该问题造成的差软件开发中,软件项目的建构被切分成多个子项目,各个异:某团队领导甲在熟悉了敏捷开发的形式(What)后,在子项目的成果都经过测试,具备集成和可运行的特征。换原有的基础上进行了改造,几乎使用了所有敏捷开发提言之,就是把一个大项目分为多个相互联系,但也可独立倡的活动。遗憾的是,甲只是运用了敏捷的形式,而缺乏运行的小项目,并分别完成。在此过程中,软件一直处于敏捷的精神,比如做回顾时,没有把重点放在解决问题可使用状态。较之于瀑布式开发,后者的主要问题是它的上,反而变成抱怨诉苦大会,不但基本问题没有解决,还严格分级导致自由度降低,项目早期即做出承诺导致对后因为开发形式的变化和失控反而消耗了开发效率,导致期需求的变化难以调整,代价高昂,这在需求不明并且在士气低迷。与之形成对比的团队领导乙,对于敏捷开发的项目进行过程中可能变化的情况下基本是不可行的。而敏理解到位(Why/What/Where/When/How),不断摸索并根捷开发则在几周或者几个月的时间内完成相对较小的功据实际情况做灵活的改进,因此该团队在开发成果,效能,强调的是能将尽早尽量小的可用的功能交付使用,并率,团队士气等维度上远远超过了前者,团队面貌焕然一在整个项目周期中持续改善和增强。相比迭代式开发,两新。者都强调在较短的开发周期提交软件,敏捷方法的周期可 工作陋习带来的负迁移造成的问题能更短,并更加强调队伍中的高度协作[2]。敏捷开发的重要特点之一是:以人为核心,关注价2 在国内运用敏捷开发可能遇到的问题及分值,消除浪费。开发人员积极主动的内驱力是团队的宝析贵财富。国内的工作环境,提倡奉献精神,辅以形式。 职业化程度有限造成的问题有效的奉献可以为参与者带来自我肯定与激励,而无效(下转182页)— 180 —
计算机光盘软件与应用工程技术Computer CD Software and Applications2013年第02期湿度,使用UPS稳压电源等,通过一系列的措施保证物理来保证电脑数据的安全。做好备份是保障电脑安全的基本层不出现任何安全问题。条件,当电脑网络安全出现问题的时候,才可以通过备份 加强技术层的安全防范数据恢复电脑,这是预防意外发生最简单且行之有效的方技术层安全防范一般指防火墙技术。“防火墙”能在法。对于数据进行备份的方法包含:备份数据库、增量备互联网和内部网之间建立安全网关,它的具体作用是对网份以及备份事务日志这些方法。络间的数据信息传输实施控制与监管,并将通信量、数据 制定安全管理制度来源等所有相关信息进行记录,从而保证网络信息安全。做好计算机网络信息安全管理的就需要持续提升计算一是硬件防火墙。目前市面上大多数的硬件防火墙都是基机用户以及管理者的综合素质,即技术素质和职业素养。特于专用的硬件平台,组成基本上都基于普通计算机架构,别是重要部门,必须要建立且制定安全管理制度,比如政府它运行的都是一些经过简化或裁减处理的常用旧版操作系机关、医院和学校,必须定期做好严格的开机查毒,数据有更统。二是软件防火墙。软件防火墙的本质其实就是普通的新或者变动时都要做好备份工作。[2]软件产品,需要经过在操作系统中安装完成后才能起到作 合理使用密码用,它的作用与硬件防火墙相同,都是为了保证网络信息使用密码技术的是保障目前电脑网络安全的关键方安全,但前者一般运用于不同的网络之间,后者运用于单法,实施密码设置可以显著的加强电脑信息安全的完整独的计算机系统。三是芯片防火墙。芯片是一种可以为专性。比如经过身份实名认证与设置密码相结合的双重验证门目的设计而成的集成电路,它具有体积小、性能高、保模式可以更好的保证电脑网络信息的安全性,目前的密码密性强等特点。也就是说,基于ASIC的芯片级防火墙不仅技术包含有公钥密码方式、单钥密码方式、数字签名、以具有较高的运作能力,其自身的安全漏洞也相对较少。及密钥管理等等。 有效的控制网络访问5 总结对电脑网络访问采取正确的限制,是网络安全得到保总的说来,电脑网络安全防范是一项需要持久坚持而障的基本,这样做可以保证电脑的网络信息资源不会被轻又繁琐的工作,要持续加强观念上的重视,同时不断革新易的访问与盗窃。而关于电脑网络安全访问方面非常广技术,才可以保障电脑网络的安全应用。泛,其中包含控制电脑属性、控制入网访问以及控制电脑参考文献:用户权限等等方法。[1]卢煜,孔令山.移动互联网安全挑战与应对策略[J].通 备份好重要数据信世界,2011,17.平常工作使用电脑的时候,用户要对电脑数据进行备[2]徐妍.关于内部网络使用安全的一些思考[J].黑龙江份,对于重要数据还需要使用光盘或者U盘来备份,以此水利科技,2009,1.(上接180页)议给“师傅”过重的个人开发任务,把“徒弟”培养好并的奉献则是应避免的,如即使任务完成了,也被要求参帮助他们发挥出生产力,这比个人生产力要持久,更具长与集体加班等;开会等活动应以解决问题作为始终目远意义[3]。标,而不应是因为它是例行活动而展开。若无效的奉献 重视培训与交流的作用成了企业文化,则与敏捷的精神相悖,从以往经验来开发成员间产生共识,从而自发自动地工作,其积极看,容易造成软件项目的风险陡增,人员流动频繁,导作用远大于被动接受命令。因此,培训与及时交流的作用非致公司缺乏积累与沉淀。常重要。利用培训来解决成员的共同疑问(4W1H),使团队在3 运用团队建设实施敏捷开发的步骤大方向上共同朝一个目标努力。同时“师傅”要有“无我”的心 取得高层的支持态:鼓励“徒弟”畅所欲言并独立思考——追求最简单有效的首先应和高层进行充分的沟通,确认取得支持与后援,方法,而不只是“师傅”的方法“。师傅”利用指导检查点的机会最好高层本身对于敏捷是高度理解的,其作风也符合敏捷的与“徒弟”进行充分的交流与火花的碰撞,同时这也是“徒弟”精神,则是比较理想的情况。若高层本身对于敏捷开发的本向“师傅”学习业务技术和敏捷精髓的好机会,既鼓励了“徒质存在怀疑或不认同,则会直接影响之后开展的效果,并在弟”,也为将来的下一个“师傅”奠定了培养基础,是长远的可遇到困难时陷入进退两难的境地,很难达到敏捷开发的效持续发展的计划。果。这对于敏捷开发的实施先驱者尤为重要。参考文献: 搭建合理的团队结构与运行理念[1]陈勇.敏捷开发专栏[EB/OL]. 182 —