公务员期刊网 论文中心 正文

敏捷开发模式在软件工程项目中应用

敏捷开发模式在软件工程项目中应用

摘要:阐述软件工程项目中的敏捷开发模式,敏捷实践中的产品定义、开发可持续性、开发效率,从而避免人员流动和业务变动给敏捷管理模式带来的冲击。

关键词:软件工程,可持续性,敏捷开发。

0引言

对于一般的软件开发企业来说,敏捷开发模式是最佳的选择。敏捷开发以为尽早交付客户可以工作的软件为唯一标准,强调人与人的之间的高效沟通,极力减少不必要的工作,尽早得到反馈,鼓励每个队员挑战自我,为团队做出更大的贡献。敏捷开发虽然是软件企业管理开发的利器,但是有达成高效所必要的前提。敏捷开发模式能迸发出高效生产率的前提是:保持稳定的开发步骤,保持着稳定的开发团队。团队之间彼此默契。但是这个前提不是每个企业都具备的。尤其是中小软件企业。

1研究背景

中小软件企业的业务不是那么固定,有的企业的业务形态甚至在探索中发展。业务调整的幅度比较大。而相比大企业,谈判的决定权相对弱势。加班、赶工的情形相对较多。很难保持相对稳定的开发步骤。无论利润率和营业能力也不太稳定,因此造成人员流动相对较大,人员的水平也参差不齐。通常几个相对的技术骨干带着一帮新人或半新人完成。这种结构都对敏捷开发模式来说是不利的。

2敏捷模式

要解决这个问题还应该回到敏捷开发最初的本心。敏捷宣言第一句:我们一直在实践中探寻更好的软件开发方法。这说明敏捷的目标是选择软件开发中最好方法。只要开发方法能提高软件开发的效率都应认可。不一定固守某一套的经验,应该以提高效率为目的而根据实际情况不断的探索和革新。按照这个思路,应该首先承认中小企业现存特点的这些事实。然后再寻找解决之路。所有企图改变、漠视和忽略中小企业业务现状,或者努力将中小企业变成大型企业的管理模式的探索都是在“削足适履”,都是对企业严重的不负责任。因此,解决问题的思路应该是:(1)尽量与客户签订小规模迭代版本合同。客户也会降低风险管控力度。即使项目失败了,也不会给客户带来很大风险。这样会增加中小企业的竞争力度。每个合同版本尽量在1~2个迭代完成。开发时间短,内部人员就相对稳定了。即使有人员离职也可以要求其完成本次项目再离开。(2)通过敏捷团队裂变的方式扩大团队。企业在初期创业就建立一个敏捷团队。因为合同的规模较小,完全有条件在每个迭代内保持业务需求的稳定。通过敏捷开发的运行,进行团队磨合,逐步提升团队的默契程度。通过极限编程模式,提高团队敏捷开发的能力。在开发团队需要扩张时,把最初的敏捷团队进行分裂成两个团队。再由两个团队分裂成四个团队。在业务收缩时,也可以通过敏捷团队合并的方式进行收缩团队。(3)公司管理结构一定是扁平的结构。一个矩阵性的专业部门,加上可以组合的敏捷团队,两层管理结构就是最大的管理深度。尽量避免“隐形非正式小团队“的形成。(4)员工的晋升通过部门定级定档,员工的绩效则通过敏捷团队的贡献确定的模式进行。每个员工的晋升和绩效影响着员工的积极性和对企业的忠诚度。企业的管理机制一定是能留住单位时间创造价值高的员工,流失掉单位时间创造价值低员工。形成良性生态发展态势。晋升的评判应该保证总体的客观公正。如果保持总体客观公正,要解决两个大难题。一个是客观数据统计的偏差。第二个是个体认同客观的主观差异。要解决这两大难题的思路就是:获得在客观数据统计的主观认同,再加上主观认定的客观校正。

3软件工程中的敏捷实践

(1)小规模合同的产品定义。小规模产品的难点在于提高商业价值的实现。规模小自然商业价值应该不会太高。难以得到客户的认可。在定义产品时,要首先做统一规划,并且整体规划得到客户的认可。规划关注客户每一个关键需求。做到把关键需求分解为适合的版本进行迭代。在每个迭代版本,同样需要兼顾提交迭代产品的系统可用性。保证每个迭代版本能让客户投入使用。在此前提下,尽量提前交付客户关键需求,以增强客户合作下去的愿望。(2)开发可持续性的保持。因为客户的强势地位,“赶工”的场景几乎无法避免。那么如果保持团队开发的可持续性呢,尽可能降低版本的规模。降低强势“赶工时间”。在团队管理中,以小时为计时单位。保证强势“赶工时间”维持在一定的范围中。然后强行插入一段休息调整时间。加大常规开发的自动化程度。常规业务开发尽量采用低代码模式。尽量做到只需要做非常规代码的开发。(3)将所有问题摆在桌面上的气度。团队的成员之间的有一定的技术水平差别是一个事实。在开计划会议时,要尊重每一个人的观点。尤其高层管理者参加后,不能流露出对进度缓慢的担忧。当团队拆分用户故事的任务时,要提问技术相对较弱的成员,确保其已经清楚掌握该任务的做法,不可草率。计划会议既担负着规划开发任务的责任,同时也担负着分解和讲解需求和设计的责任。只有确保团队每一个人都清楚任务的分解以及最有效的完成方法,每一个成员都能完成任何一个的任务,计划会议的使命才算完成。

4敏捷成效

温和争论的氛围形成。敏捷团队的最好的氛围是:每个队员都充分尊重团队的每一个人,每个人都仅仅是为了提高开发效率这个目标而进行温和争论。这就要求每个队员,尤其是技术好的员工、理解快的员工能够尊重理解慢的、技术弱的员工。要耐心的为每一个员工解释清楚,让他们能贡献更多的工作。鼓励每一个提出自己的意见,因为每一个人接触的项目的视角是不同的,即使不能设计出更好的方法,却能提供必要的信息。因此,要让团队每个人都意识到这一点。每个人充分尊重其他每个人的观点。尽可能帮助其他人贡献更高的产出。团队自我提升的愿望形成。公司开发效率的关键在团队成员间的亲密合作和基于紧密分工的卓越设计。因此,提升效率的底层文化逻辑是:团队成员之间的紧密配合是高效率的前提,每个人都是组织中的一分子。不断提升自我设计能力以争取在团队中发挥更大作用。形成这种文化逻辑的方法是:公司层面应该坚持以敏捷团队为主体进行激励。留有足够的组内民主余地,坚持每个人都可以影响其他人绩效分配的权利。保障组内民主氛围。敏捷团队的上层管理,不宜介入敏捷团队的绩效分配。

5结语

敏捷开发是软件开发组织的利器。但是每家公司的业务形态不同,也许还拥有自己独特的历史原因。这些因素都会影响着敏捷效率的发挥。这些问题在中小企业中尤为常见。敏捷开发的宗旨应该承认这些问题,然后在这些问题的基础上寻找最好的管理方法。

作者:王斌 单位:南京师范大学中北学院