敏捷开发小谈

   敏捷开发是一种以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在软件工程课程的项目实践中,私以为也用到了这种方法,当然我们的用户交流远不如真实的敏捷开发多,迭代次数也仅有开题、中检、结题而已,其他各部分也尚不如要求的那么多,那么严格,执行上也存在问题。

相关历史:
在2001年召开的研讨软件过程未来发展趋势的一次会议上,17位业界专家就什么是“敏捷”达成一致意见。这次会议的一个成果是成立了“敏捷联盟”并发布了联盟敏捷宣言。
首先,我们来看《敏捷软件开发宣言》的价值观:

  1. 个体和互动 高于 流程和工具
  2. 工作的软件 高于 详尽的文档
  3. 客户合作 高于 合同谈判
  4. 响应变化 高于 遵循计划

也就是说,尽管右项有其价值,我们更重视左项的价值。再不断的摸索发展中,其又主要遵循以下12条原则:

  1. 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
  2. 欣然面对需求变化,即使在开发后期也一样。
    为了客户的竞争优势,敏捷过程掌控变化。
  3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
  4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
  5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
  6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
  7. 可工作的软件是进度的首要度量标准。
  8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
  9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
  10. 以简洁为本,它是极力减少不必要工作量的艺术。
  11. 最好的架构、需求和设计出自自组织团队。
  12. 团队定期地反思如何能提高成效,并依此调整自身的举止表现。
    更加详细的原则解释可以参考敏捷开发之 12条敏捷原则

下图给出敏捷开发的流程图,并根据本组项目进行相应的说明:
这里写图片描述

   软件工程的小组项目开发题目为“网页表格数据提取”,总用时10周,含开题、中检、结题。前期准备时间3周,包括获取需求、方案讨论、确定目标等,开发用时7周,包括一期迭代及中检后的二次迭代至结题。
   前期准备包括与扮演用户的老师获取需求、小组讨论确定实施方案,最终确定使用django框架、python语言;小组三人采用MVC的方式进行合作开发,一人负责V(view)即项目前端试图部分,所用语言html、css、js等;一人负责M(model)含数据库等开发,另一人负责C(control)后台逻辑部分;项目启动在学期第七周开始,合作方式为小组讨论、组长分配,代码用github管理(如图项目启动会)
   迭代开发过程使用燃尽图、每周一会、定期提交代码等方式来进行团队管理,尤其是后台部分每人各自开发都进行相关测试,保持质量产出,中检交付模型已完成基本功能,数据表格提取出来并显示(如图 交付评审),通过并获得反馈意见均为前端页面部分视觉效果的修改意见;二轮迭代加入表格操作功能及数据导出等,并优化界面效果;集成测试由小组成员和真实用户进行,FR完成、NFR可靠性、相关性能等测试结束,部署在云端服务器结题。(注:图中迭代开发部分为N次迭代)

附:小组项目地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值