敏捷开发--软件开发的高大上方法

一开始看到敏捷开发这个名字,就对里面的“敏捷”这个词产生了疑问,什么叫做敏捷开发,难道开发软件工程还要像奥运会一样“在追求更高更快更强的道路上,没有终点”吗?笔者带着这个非常sb的疑问大致浏览了一下老师blog里的网页,发现所谓的敏捷开发,说的就是一种高大上的软件开发新方式,它强调开发人员之间的频繁交流、快速处理需求改变、无限提高开发效率等等非常考验开发人员脑容量和体力的方式来开发软件。笔者以前其实没有什么软件开发的经历,但是在课堂上了解到了一些软件开发的一些传统方式,比如说瀑布模型,这是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。然而相对于这种循规蹈矩的传统模型,敏捷开发其实就开放的多,当然也累得多,但是其在某些方面确实强于传统的开发方式。

为了更加详细的了解敏捷开发方式,需要知道敏捷开发具体指的是什么,这又回到了笔者一开始的那个非常sb的问题---何为敏捷?通过浏览网页的信息以及查了一下词典,笔者机智的发现agile这个词有一条英文解释:“ having a quick resourceful and adaptable character ”,再结合各种百科对于敏捷开发的描述,笔者(根据自身渣一般的英文水平以及理解能力)对敏捷开发做出的概述就是“一种具有快速适应性的软件开发方法”。这里不引用下敏捷开发的十二条原则简直就天理不容了:

1. 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。

2. 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。

3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。

4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。

5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。

7. 可工作的软件是进度的首要度量标准。

8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。

9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

10. 以简洁为本,它是极力减少不必要工作量的艺术。

11. 最好的架构、需求和设计出自自组织团队。

12. 团队定期地反思如何能提高成效,并依此调整自身的举止表现。

我们可以看到,敏捷开发的主要目的是要不择手段的将效率和质量最大化(从第一条就能看出来了),主要的方法就是发掘团队成员每个人的潜力,并且通过短间隔的交付以及讨论来保证效率。初看这种方法会给人一种榨取劳动力剩余价值的感觉,但仔细一想,这样的开发方式也许真能又快又好的完成项目。首先,敏捷开发强调短间隔开发周期,并且给予每个团队人员最大的信任和自由,因此,当每个团队人员都能以极高的热情努力完成任务时,这种短间隔的交付以及例会就能很好的保证项目的效率以及质量。其次,敏捷开发中提高效率的方法也是很不错的,它要求团队人员们多面对面交流,保持紧密的联系,并且还要定期反思提高效率,可以说能用来提高效率的方法它基本都用了,就差项目经理开会时拿着一大捆钞票说“第一名拿一万,第二名拿一半,第三名拿第二名的一半,以此类推,再到后面就没钱了,注意了,排在后面就没钱啦”这种方式了。再者,在强调效率的同时,敏捷开发方式还不是敏捷的提醒众位注意质量,每个进度的首要度量标准是可工作的软件,还要坚持不懈的追求技术卓越和良好设计的同时以简洁为本,在自组织团队人员的个人能力都很强的时候这么做未尝不可。最后,敏捷开发可是大神们在一次茶话会中讨论出来的高大上开发方式,谁不支持谁就不客观。

但是,在看到敏捷开发高大上的原则以及诱人成果的同时,笔者还对此方法抱有一些疑问。敏捷开发的12条原则虽然都是一些非常完美的方法,但是这些原则的执行是非常考验团队每一成员的能力的,这么短的开发周期确实能激励每个队员努力的去完成任务,但也限制了每个开发人员在两个间隔期间只能着手于自己任务,如果有一两个开发人员因为能力不足、偶感风寒或者一些不可抗拒的自然因素,导致其没能完成任务,而其他开发人员又没空接手,就很有可能打乱进度,然而如果为了适应各种情况增加周期,就变得不那么敏捷了吧。当然,正如一开始所说,敏捷以为着快速适应,而敏捷开发的团队又是自组织的,团队会在下一次工作周期做出相应的调整以求高效的解决问题,但这里就有一个疑问了,如果一直没有找到合适的分工形式是不是意味着不断地调整,这样不稳定性会不会导致一些意想不到的问题?

其实每种开发方式都会有或多或少的问题,然而敏捷开发最为一种比较新的开发方式,它很符合当下这个信息爆棚的时代,是一种大信息量,时刻通信,快速的开发方式,虽说比较考验团队人员的能力,但是通过方便快捷的资料查询,能力的差距会不断缩小,因此,笔者认为敏捷开发方式是一种不错的软件工程的开发方式。最后还是那句话,这是一群大神们抱团想出来的高大上方法,谁不支持谁就不客观。

转载于:https://www.cnblogs.com/z-mac/p/3370060.html

[软件工程--个人作业] 敏捷开发读后感相关推荐

  1. 软件工程----过程模型、敏捷开发

    软件的概念 软件是在计算机系统支持下能够完成特定功能和性能的程序.数据和相关文档 软件 = 知识+程序+数据+文档 软件危机 软件危机是指落后的生方式无法满足迅速增长的计算机需求,从而导致软件开发和过 ...

  2. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)

    软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) ...

  3. 软件工程敏捷开发01

    1. 软件工程敏捷开发,每日站立会议:进行了组内成员的任务分派,把今天的任务做了具体的任务分配,把已知的问题提交到个人索引卡 2. 将分配好的任务做完,总结遇到的问题,并结合今后的问题进行讨论和组内成 ...

  4. 软件工程(三)——敏捷开发和理解需求

    笔者正在学习<软件工程-实践者的研究方法>这本书,记录下一些读书笔记,共勉! 1.敏捷 市场条件变化十分迅速,客户和最终用户的需求在演变,从业者必须使软件工程工作保持敏捷,要限定过程应是灵 ...

  5. 《SaaS软件工程 云计算时代的敏捷开发》PDF版

    点击下载:[<SaaS软件工程 云计算时代的敏捷开发>](https://pan.baidu.com/s/1upWJEYOni1XLsPBnrrMVhQ)![这里写图片描述](https: ...

  6. [软件工程学习笔记]浅谈敏捷开发

    在移动电子设备如此普及的今天,看着琳琅满目的手机APP市场,你不知道下一秒什么会突然变得炙手可热,什么会瞬间销声匿迹.顺应时代的潮流,软件开发也从重型过程向轻量型敏捷发展.作为软件的开发者,这些都是值 ...

  7. 《敏捷开发一千另一夜》 读后感1

    相信大家都读过一千零一夜的故事,接下来,我们来回顾一下这个故事. 故事有两个主角,一个男主(主动方),一个女主(被动方), 互动的方式是: 被动方 讲故事, (可以故事里嵌套另一个故事,故事也可以有多 ...

  8. 软件工程——第五章(敏捷开发)

    1.敏捷软件开发的宣言 "我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们认识到: 个人和这些人之间的交流胜过了开发过程和工具 可运行的软件胜过了宽泛的 ...

  9. 软件工程阅读作业感想

    软件工程老师给我们留了阅读作业,刚开始觉得老师留的作业阅读量太大,而且时间太短,对此感到不是很理解,但是当我开始阅读<移山之道>这本书的时候,感觉这本书真的写的很通俗易懂,利用移山软件公司 ...

最新文章

  1. centos6重启网络命令_虚拟机-linux系统中图形界面和命令行界面切换
  2. [NewLife.XCode]增量累加
  3. 如何才能成为超级人类,驯服人工智能?
  4. ImageGP新上几个小工具
  5. 谷歌 .dev 顶级域名正式开放
  6. 电脑安装python-如何安装python
  7. WP7开发平台介绍及开发注意事项【WP7学习札记之二】
  8. 美国的知名的人工智能研究机构或者实验室
  9. 基于Simulink模型的嵌入式代码生成与实际工程应用
  10. 各种门平面图画法_关于CAD各种门怎么画平面图就行 CAD铝合金门窗
  11. linux dns主配置文件,RHEL 5下DNS的主配置文件详解
  12. XAMPP下载速度太慢了
  13. 从Python爬虫到Spark预处理数据的真实需求[四]
  14. SpringBoot中banner个性启动(内附自定义设计网站)
  15. 解析mp3文件,获得mp3中的专辑图片
  16. DeepLearning4J入门——使用LSTM进行大盘回归
  17. LeetCode(1292):元素和小于等于阈值的正方形的最大边长 Maximum Side Length of a Square(Java)
  18. java展示树形结构的两种方式
  19. Thinging in Java读后总结
  20. 【Metaverse系列一】元宇宙的奥秘

热门文章

  1. 引用Bootstrap无法显示样式,可能是安装的版本和参考的文档不相符
  2. 麦子学院-Web前端开发工程师系列培训教程
  3. 技术赋能教育直播,保利威玩转“5G+AI”
  4. 【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
  5. orangepi——香橙派使用初识
  6. SICNUOJ——meng新计划要求规范
  7. 【Unity3d】带你制作一款类似于金山打字之生死时速的小游戏
  8. 蓝桥杯大赛历届省赛真题(软件类)免费下载!!!
  9. 我找到了一个快速定位SpringBoot接口超时问题的神器!
  10. 如何掌控自己的手机时间