论文部分内容阅读
敏捷开发方法有很多分支流派,给项目管理人员带来一些困扰。如XP(Extreme Programming)适用于小型团队开发,关注于代码和技术,它强调面对面的交流和在非代码方面倾注很少的努力,而RUP(Rational Unified Process)是一个框架性的过程,可以为不同类型的过程设置不同的框架,它在考虑风险和减小风险的技术有很大的促进,Scrum则非常突出管理。某种具体的敏捷方法,可能不能完全适用于整个项目,或者不能适用于某种团队。即时通讯(简称IM,Instant Messaging)系统,可以即时发送和接收互联网消息,早期仅仅可以在两人之间发送文字消息,现在发展到可以在两人或多人之间传递文字消息、语音和视频交流,除此之外,还可以将对方添加为好友,并实时关注到对方的线上状态,本文的背景即是基于一款即时通讯软件系统,用于为终端用户提供通讯服务。本文就企业中的某个即时通讯软件开发项目,结合实际情况,提出了一种敏捷开发的裁剪和优化方法。即时通讯软件开发过程中,首先应用了迭代式开发方法,将项目开发分为两个迭代周期,迭代周期一中主要用于需求的完善、技术预研等,迭代周期二为项目的最终商业版本,通过迭代,有效降低了由于需求无法在项目前期确定而导致的频繁变更、无法控制等问题;在即时通讯软件的代码编写中,优化了XP方法的结对编程方法,并将其拓展为区间结对编程、“交换编程”、“师带徒”式编程等扩展,在迭代二中运用了重构方法,优化了系统架构,并对关键代码进行了重新编写,将产品由中间产品升级为最终商业版本;在项目的管理与推进上,采取了类似RUP的方法,将项目的每一次迭代都划分为需求分析、系统设计、编码、生成产品等几个阶段,每个阶段中使用各类文档、用例等进行管理和控制。通过将敏捷开发运用于项目中,取得了良好的效果。一方面,有效地缩短了项目周期,降低了项目成本,另一方面,在加快项目进展的同时,也能兼顾到团队组织的磨合与培养,对团队的稳定性也有很大的提升。