为什么程序员讨厌敏捷开发,为什么那么多程序员讨厌敏捷开发

2020-11-25 05:13:19 字数 4473 阅读 1963

1楼:匿名用户

敏捷并不意味着要牺牲其他事情。敏捷的目的是为了

最好的软件/产品。这是为了产出最大的价值。敏捷意味着倾向于更重要的东西,而不是忽视不那么重要或优先等级不那么高的东西。

所以,不要因为不了解敏捷而讨厌它。拥抱它,你就会发现,它会让实际工作做得更好,带来更多的价值。(itjob、)

为什么那么多程序员讨厌敏捷开发

2楼:臭臭vs小怪兽

因为敏捷开发在实施中需要考虑很多因素,而这些因素暂时达不到要求,强行开发敏捷对互联网来说并非有利。

1.敏捷开发产生是源于企业软件交付的诸多难题,比如变更、缓慢、高成本等。这类交付大多以项目形式组织、以产品为结果。

2.项目有两个核心特征“为客户服务”、“一次性”。

3.项目的发起是从客户需求出发的,这隐含了客户必定是存在的,而且是明确的,通常客户是一个人或一个公司的需求提出人。通常是一对一服务的。

他们的需求一般也是明确的,至少方向是明确的。

4.所以敏捷开发中“客户合作”、“客户现场”等都是对客户重要性的确认,一旦客户不存在,例如自主产品研发早期还没有用户的时候,需求的挖掘、产品的验收就都成了问题。

5.项目一般是为一个确定目标所完成的一次性活动,所以项目是以客户验收为结束标志的。然而产品因为存在大量用户,它是持续交付的过程,再加上产品的更新换代,还需要对老用户进行升级。

6.敏捷开发中强调“客户验收”的重要性,要求与客户频繁验收,从而尽早发现问题,尽早调整,减少返工浪费,同时收敛项目范围。但这并不是用于产品,因为产品的功能是越做越多的,不断发散,同时还无法快速与用户验收,甚至无法验收,因为用户太多,不知道以谁为准,或者用户拒绝对未成形产品验收。

这都让敏捷开发更多的局限在项目交付范畴之内。

参考资料

百科.百科[引用时间2017-12-28]

为什么程序员不选择敏捷开发?

3楼:臭臭vs小怪兽

因为敏捷开发在实施中需要考虑很多因素,而这些因素暂时达不到要求,强行开发敏捷对互联网来说并非有利。

1.敏捷开发产生是源于企业软件交付的诸多难题,比如变更、缓慢、高成本等。这类交付大多以项目形式组织、以产品为结果。

2.项目有两个核心特征“为客户服务”、“一次性”。

3.项目的发起是从客户需求出发的,这隐含了客户必定是存在的,而且是明确的,通常客户是一个人或一个公司的需求提出人。通常是一对一服务的。

他们的需求一般也是明确的,至少方向是明确的。

4.所以敏捷开发中“客户合作”、“客户现场”等都是对客户重要性的确认,一旦客户不存在,例如自主产品研发早期还没有用户的时候,需求的挖掘、产品的验收就都成了问题。

5.项目一般是为一个确定目标所完成的一次性活动,所以项目是以客户验收为结束标志的。然而产品因为存在大量用户,它是持续交付的过程,再加上产品的更新换代,还需要对老用户进行升级。

6.敏捷开发中强调“客户验收”的重要性,要求与客户频繁验收,从而尽早发现问题,尽早调整,减少返工浪费,同时收敛项目范围。但这并不是用于产品,因为产品的功能是越做越多的,不断发散,同时还无法快速与用户验收,甚至无法验收,因为用户太多,不知道以谁为准,或者用户拒绝对未成形产品验收。

这都让敏捷开发更多的局限在项目交付范畴之内。

参考资料

百科.百科[引用时间2017-12-28]

达内安卓培训专家:为什么程序员讨厌敏捷开发

4楼:磨砺营it教育

敏捷开发的一个基本要求首先就是团队的行动要迅速,反应要快、要灵敏,相反地,那些反应迟钝、缓慢,客户响应拖拖拉拉,错失市场良机的,自然不是敏捷开发。

除了反应快,响应快,软件开发中的各种快(quickness)还包括:交付快,发布快,开发快,纠错快,收效快等等,这些快都与时间有关,代表了开发的速度与高效。那么,软件开发怎样才能快起来?

一个很容易想到的答案是:轻装上阵。一个开发团队怎样才能轻装上阵?

减少不必要的环节与各种开销、浪费(eliminate waste)。

正确实施的敏捷开发理论上还应该带来更好的效果,然而对于什么是“好”,分歧是最大的,因为不同位置、不同背景,拥有不同价值观的人群对于“好”的定义常常有着不同(有时甚至截然相反)的理解。

身为程序员怎么能不懂什么是敏捷开发

5楼:米粒

什么是敏捷开发?s

敏捷开发(agiledevelopment)是一种以人为核心、迭代、循序渐进的开发方法。

怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;

为什么说是以人为核心?

我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

什么是迭代?

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

关于scrum和xp

前面说了敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而scrum和xp就是敏捷开发的具体方式了,你可以采用scrum方式也可以采用xp方式;scrum和xp的区别是,scrum偏重于过程,xp则偏重于实践,但是实际中,两者是结合一起应用的,这里我主要讲scrum。

什么是scrum?

scrum的英文意思是橄榄球运动的一个专业术语,内推网****neitui.me,专注于做互联网招聘行业内部推荐、打造最专业的互联网招聘内部推荐直招平台。

表示“争球”的动作;把一个开发流程的名字取名为scrum,我想你一定能想象出你的开发团队在开发一个项目时,大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。

而scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。

【scrum开发流程中的三大角色】

产品负责人(productowner)

指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

流程管理员(scrummaster)

主要负责整个scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

开发团队(scrumteam)

主要负责软件产品在scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到sprint的目标。

6楼:济南华信智原

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

为什么程序员不喜欢改别人的**

7楼:匿名用户

改别人的**费的劲还不如自己写一个

8楼:枫岚之邺

每个人都有自己的开发习惯,以及自己的写**的方式。

例如写**的时候,格式不一样啦,换行的位置不一样啊等等。别人的**不像是常见的dos,linux命令行之类的,在没有备注的情况下,很有可能会完全看不懂.咋改?

为什么很多老程序员讨厌中文编程

9楼:陕西u就业

英文编程已经先入为主了

已经做了好多年程序员,已经习惯于现有的编程体系,使用起来已经的心应手了,从心里上觉得没必要切入到中文编程语言的学习,而且毕竟易语言在诞生初期,由于时间和技术上的限制存很多的问题,所以在心理上不接受也是特别正常的事情。

毕竟已经形成的多年的习惯,再加上工作上没有直接切入的交集,因为现在绝大部分的程序员还是用英文编写程序,习惯看英文的文档,写英文的注释,这种不能简单的理解成不爱国或者别的情怀,有更加合适的语言为啥不去使用,要想中文的编程语言大规模的普及,必须找到历史的契机点,并且经过多个版本的叠加,慢慢形成自己的生态链。

很多人为了学习英文编程,当年也是废了九牛二虎之力把四级过了,让直接切换到新的语言,显然不是很现实。

10楼:匿名用户

一个是很多程序员自以为是,自是高傲!以为学了点东西,看扁一切!我也是个程序员,我是由中文编程喜欢上编程的。

后面也学了英文的。编程工具这个东西就是个工具,你用什么工具不是显得你多牛逼,也不是拿出去炫耀的资本!而是你做的东西好不好才是你炫耀的资本!

这句话不是写给楼主你的,是写给看到这条回答的,自以为是的程序员们!