资深程序员之路(5)--agile开发

Agile Software Development(敏捷软件开发)
作者:匿名用户
链接:https://www.zhihu.com/question/23429937/answer/24684885
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以“瀑布模型”为代表的传统软件开发模型针对软件生命周期的各个阶段提供了一套规范, 以期使工程的进展达到预期的目的。核心强调在软件开发活动中, 所有的活动计划, 日程安排, 交付工作都要直接或间接的和需求保持一致, 同时强调软件需求必须形成“ 文档” 。这种基于计划的生命周期的软件开发方法曾极大地促进了软件行业的发展,但现如今却愈感“有心无力”。
为了适应现代的商业环境与之对应的“敏捷编程”的开发方法提了出来。包括诸如“极限编程”、自适应软件开发和功能驱动开发等。其他答案已从定义上给予了说明,我就结合敏捷软件开发宣言从商业环境探究这一开发方法的本质与起源。个体和交互 胜过 过程和工具敏捷开发强调把关注点回归到“人”上,其背后的哲学思想可追溯到康德的“人即目的”。同时,主张面对面交流和客户参与开发, 弥补了缺少文档而产生信息流通不畅问题, 认为开发人员之间、开发人员和客户之间相互协作、相互信任、彼此尊重是保证沟通成功的必要条件。背后的商业环境现实就是——开发过程中的人力资本的高企。
一个典型的项目花在人力上的金钱是花在硬件上的时间的20 倍, 这意味着一个项目每年要花2 0 万美元在程序员身上, 而仅仅花10 万美元在电脑设备上。很多聪明的程序员说: “ 我们如此聪明, 发现一种方法可以节省20%的硬件开销” , 然后他们使得源程序大且难懂和难以维护, 他们会说: “ 但是我们节省了20%或者2 万美元每年, 很大的节省” 。但财务事实告诉我们,如果程序简单而且容易扩

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值