敏捷开发实践总结(一):敏捷开发的核心思想。

简介:
项目组学习、实践、摸索敏捷开发模式已经近两个月了。这里对两个月来的成果作一次总结。首先是关于敏捷开发的核心思想。

我理解的敏捷开发的核心思想,简而言之,就是八个字:“化整为零,逼近极限”。

敏捷开发的世界观
敏捷开发者眼中的世界,用西方哲学来说叫“绝对运动与相对静止的对立统一”的世界;用东方哲学来说叫“自其变者而观之,则天地曾不能以一瞬;自其不变者而观之,则物与我皆无尽也”的世界。(这句引自《赤壁赋》,用在此处不太好:它只阐述了运动与静止的对立统一,没有说明运动的绝对与静止的相对。不过“绝对”这个词在中国哲学里本就比较少见,“子曰毋必毋固”,我一时也找不到更合适的了)。
故弄玄虚的说法到此为止。现实点的说法大约是这样:
敏捷开发者眼中的软件系统,是一个需求在一步一步不断变化的软件系统。用户喜好在变,市场风向在变,业务模式在变,系统需求也在变,这就是敏捷世界中的绝对运动,也是敏捷核心中的“整”,和“极限”的第一义。而这种需求的变化方式——“一步一步”地变化,恰是所谓“相对静止”,也是“零”和“逼近”的基础。无法跟踪的需求变化也是无法实现的。

敏捷开发的人生观
敏捷开发者的人生观,就是逼近极限的人生观,或者用《大学》中的话说,叫“止于至善”。变化的需求,以及隐藏在这种变化之后的新的价值,是敏捷开发者所追求的“极限”、“至善”。这样的人生观驱使敏捷开发者向夸父追日一样追逐着变化的需求、个人能力的提高以及藏在这两者背后的用户价值和个人价值的最大化(当然,合理的计划安排下,不会落得夸父的下场)。
此外,敏捷宣言中提到的敏捷开发的价值观(沟通,简单,反馈,勇气,谦逊)中,我更愿意把勇气和谦逊归入人生观。谦逊令敏捷开发者认识到自己尚未做到“至善”,因而需要进一步去逼近这个“极限”;而勇气则使敏捷开发者们不泥足深陷于错误的方案,不固步自封于已有的成绩。这两点,都是为了逼近极限、止于至善的必要补充。

敏捷开发的价值观
敏捷宣言中指出了五种敏捷开发的价值观(沟通,简单,反馈,勇气,谦逊),最后两种被我归入了人生观。其它的三种,我也将不客气的将它们归入方法论。至此,敏捷宣言提出的价值观,就被我架空了。
有破须得有立,否则就会产生80、90后这种旧信仰被破坏又没有新信仰的迷惘的几代人。抛开原有的价值观,我所树立起来的“新价值观”其实也不是新东西,即:敏捷开发者的价值取向,是需求变化背后的业务、市场、用户价值,并在此过程中追寻个人价值的极限。敏捷开发者所作出的判断,行动,都应该以这两个价值为标准。只有这样,敏捷开发才能砌零为整,有效的逼近极限。否则,做得再多也只是无用功。

敏捷开发的方法论
敏捷开发最核心的方法,就是小版本增量式的实现需求。这也正是敏捷开发的核心方法论:将用户、市场的变化捕捉为业务、需求的变化;将变化的需求拆分为相对稳定的功能;通过冲刺、迭代等小周期完成功能开发,并增量式的将功能还原为需求。我做参与的敏捷开发实践,就是这样做的。

敏捷开发所主要关注的,是通过it实现价值;它主要解决的,是需求变化太频繁导致的“计划赶不上变化”等问题;它的主要解决途径,是抓住总的需求变化中的一些稳定的功能小需求,通过实现这些小需求来逐步完成总的需求。
敏捷开发同样关注项目完成质量,包括系统架构、代码质量等,并且引入和提出了许多相关方法来保证项目完成质量。但这是所有开发模式所共同关注的;只是敏捷开发采用的方法更加适应敏捷的流程,因而显得与众不同。

这是我所理解的敏捷开发核心思想。一家之言,姑妄听之吧。




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/903696,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 算法 搜索推荐
一文读懂FM算法优势,并用python实现!(附代码)
介绍 我仍然记得第一次遇到点击率预测问题时的情形,在那之前,我一直在学习数据科学,对自己取得的进展很满意,在机器学习黑客马拉松活动中也开始建立了自信,并决定好好迎接不同的挑战。 为了做得更好,我购买了一台内存16GB,i7处理器的机器,但是当我看到数据集的时候却感到非常不安,解压缩之后的数据大概有50GB - 我不知道基于这样的数据集要怎样进行点击率预测。
15353 0
|
10月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练
|
10月前
|
机器学习/深度学习 人工智能 安全
千问团队开源会思考的QwQ模型,这模型成精了!
QwQ是由Qwen团队开发的大型语言模型,专注于增强AI的推理能力。此预览版本在数学和编程领域表现出色,但在其他领域仍有提升空间。模型具备深度自省和自我质疑的能力,通过逐步推理和假设检验,能够在复杂问题上取得突破性进展。QwQ不仅支持本地推理和Ollama直接运行,还提供了详细的微调指南,助力开发者根据特定需求定制模型。尽管QwQ在推理过程中存在语言切换和安全性等方面的局限性,Qwen团队仍致力于不断优化,推动模型向更高层次的智能迈进。[了解更多](https://modelscope.cn/studios/Qwen/QwQ-32B-preview)
3273 0
千问团队开源会思考的QwQ模型,这模型成精了!
|
缓存 JavaScript 安全
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
这篇文章提供了2022年最新最详细的Node.js和cnpm安装教程,包括步骤图解、全局配置路径、cnpm安装命令、nrm的安装与使用,以及如何管理npm源和测试速度。
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
|
存储 关系型数据库 MySQL
2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
这篇文章提供了2022年最新最详细的MYSQL数据库安装教程,包括下载、安装步骤图解、初始化配置文件创建、登录密码修改注意事项,并分享了作者在安装过程中遇到的常见问题及其解决方法。
2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
|
域名解析 缓存 负载均衡
深度解析Nginx正向代理的原理与实现
Nginx虽然主要被用作反向代理,但也可以通过一些特殊配置用作正向代理。虽然不是它的主流用途,但它仍能以其高性能和高稳定性为用户提供代理服务。不过,出于安全性和匿名性的考虑,在使用它作为正向代理时须谨慎配置,并根据实际需求做出调整。
329 0
|
机器学习/深度学习 自然语言处理 算法
社交网络分析(汇总)
社交网络分析(汇总)
557 0
|
设计模式 Java
深入理解设计模式!六大设计原则的分析与介绍
本篇文章开始介绍程序架构设计中的设计模式,介绍了设计模式的基本概念以及23设计模式。主要介绍了设计模式中的六大设计原则。开闭原则,里氏代换原则,依赖倒转原则,接口隔离原则,迪米特原则和合成复用原则。这几大原则是设计模式使用的基础,在使用设计模式时,应该牢记这六大原则。
7041 0
深入理解设计模式!六大设计原则的分析与介绍
|
存储 算法 搜索推荐
数据结构和算法常见面试问题总结,含答案
数据结构和算法常见面试问题总结,含答案