前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >了解敏捷开发

了解敏捷开发

作者头像
Noneplus
发布2019-09-24 16:11:14
1.3K0
发布2019-09-24 16:11:14
举报
文章被收录于专栏:开发笔记

什么是敏捷开发?

敏捷开发以用户的需求变化为核心,采用迭代循序渐进的方法进行软件开发。

敏捷开发模式的分类

  • XP极限编程(eXtreme Programming)
  • SCRUM
  • 水晶方法
  • 动态系统开发方法
  • 精益开发

其中XP和SCRUM最为流行。

极限编程

极限编程是一种轻量,高效,弹性的软件开发方式。

四大核心价值观

  • 沟通: 完善的流程和详细的文档用于团队协作虽然能够保证一致性,但效率往往不高。 极限编程提倡通过高效的口头沟通来保证整个团队的高效协作。(并不是舍弃流程和文档,只是更加侧重口头上的沟通)
  • 简单: ==今天够用就行。 那么系统的扩展性怎么实现? 极限编程提倡重构。(对开发人员要求较高) 重构建立在软件开发中无法避免出现BUG的前提下,与其最后修改整体的BUG,不如在一次次的重构迭代中反复扩展优化。
  • 反馈 通过提前编写测试代码,经常性的反馈代码的问题和进展。 在开发过程中,通过持续集成,使得每一次的发布都可以成为可执行版本。
  • 勇气 应用极限编程,每时每刻都在应对变化。这要求开发者时刻面对快速开发,重新开发。 变化在软件开发中是不可避免的,极限编程的思想就是将变化扼杀在摇篮中,避免最后形成一个无法重构的庞大工程。

13个最佳实践

  • 计划游戏 快速制定一个概要的计划,随着项目细节的不断更新和迭代,再完善这份计划。 主要分为三个步骤:客户编写故事;开发人员进行按照优先级进行分解和排序;确定产品迭代周期(2-3周)
  • 小型发布 持续集成,但每一个版本的发布都需要具备足够的商业价值。
  • 隐喻 寻求共识 发明共享词汇,增强团队默契
  • 简单设计 设计不应该一次性完成。因为变化不可能被所有的预见。所有设计一次也是无法完成的。 扎克伯格:不变的事物只有变化
    • 通过所有的测试程序
    • 没有任何重复的代码
    • 保持定期重构的思想
    • 单一职责(一个类只做一件事)
  • 测试先行 先写测试代码,再写代码。(开始时效率低,但能解决许多隐形问题)
  • 重构 重构是一种对代码改进而不影响功能实现的技术,重构的目的是降低变化引起的风险,使得代码优化更加容易。 重构场景:
    • 实现功能之前:改变现有代码结构,使得新的特性更加容易实现
    • 实现功能之后:检查一下刚刚写完的代码,考虑是否能够简化

    理论上来说,重构思想和开闭原则是相违背的,但如果一开始没有超强的设计分析和预测变化的能力,用来设计的时间不如花在重构上。【设计终究只能浮于纸上,而实践才能更加真实的发现问题】

  • 结对编程 code+review
  • 集体代码所有制 编码规范统一
  • 持续集成 在确保系统运行的单元测试通过之后,每天尽可能的多做代码集成。
  • 每周工作40小时 保证休息,提高效率。
  • 现场客户 主要为了沟通
  • 编码标准 定义变量名等开发规范。【确保沟通交流】
  • 配合是关键 1+1>2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是敏捷开发?
  • 敏捷开发模式的分类
  • 极限编程
    • 四大核心价值观
      • 13个最佳实践
      相关产品与服务
      持续集成
      CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档