敏捷开发实践的认识

什么是敏捷开发

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方式,它并不是一门技术,而是一种开发方式,一种软件开发流程。指导我们用规定的环节一步一步去完成项目的开发,区别于软件的传统的开发模式(瀑布模式:需求分析到详细设计,从编码到测试,测试完成后再交付这么一个流程),而敏捷开发则是不要求非常完美的需求分析、设计、文档,而是在最短的一个时间内完成一个框架,然后不断迭代、测试,直至交付--------不指某种具体的过程或框架,而是一组价值观和原则,是应对快速变化的需求的一种软件开发能力。

敏捷开发的原则

敏捷开发的12条原则:

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

多种敏捷开发的方法

常见的敏捷开发方法:

  • 软件开发节奏,SoftWare Development Rhythmns
  • 敏捷数据库技术,AD/Agile Database Techniques
  • 敏捷建模,AM/Agile Modeling
  • 自适应软件开发模式,ASD/Adaptive Sofatware Development
  • 水晶方法,Crytal
  • 特性驱动方法,FDD/Feature Driven Development
  • 动态系统开发方法,DSDM/Dynamic Systems Development Method
  • Scrum
  • 极限编程
  • 探索性测试

一个敏捷团队

大致9~12人规模,开发4名,其余各一名;

  • PM: Project Manager, 项目经理
  • BA: Business Analystt, 业务分析师
  • TL: Technical Leader 技术领导
  • QA: Quilty Assurance 测试人员
  • UX: User Experience 用户体验设计师
  • DEV:Developer, 开发人员
  • DevOps : 运维人员

敏捷开发中常用的术语

  • IPM : Iteration Plan Meeting ,迭代计划会
  • Standup: 站会
  • Story: 用户故事/需求,体现为看板上的卡片
  • Story KickOff :启动卡的开发
  • Pair : 结对编程
  • TDD : Test Driven Development ,测试驱动开发
  • Code Review : 代码检查
  • ShowCase : 演示已经完成迭代的功能
  • AC : Acceptance Criteria ,验收条件
  • CI : Continious Integration,持续集成
  • Retro : 回顾会议(即每个迭代的项目总结)
  • TB : Team Building ,团队建设

迭代的典型流程

在这里插入图片描述

致谢

最后要感谢项目组晓峰老师的分享,让我具体了解敏捷开发的概念以及敏捷开发具体怎么实现的,thank you.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容