阅读更多
【编者按】这是一个来自Quora的问题。Rocket程序员Jasmine Adamson在文中表达了敏捷开发原则是废话的观点,他觉得现实生活中没有什么人会推崇这些原则来工作,不过他们仍然在说其所做的是敏捷,这是非常让人沮丧的。

以下为译文:

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在过去8年里,我一直工作于“Agile”开发小组,所以让我用敏捷开发原则来告诉你事实,或许你会明白为什么那些在像Google这样巨头公司工作的开发者会认为敏捷开发是废话。

1.及早并持续的交付有价值软件来满足客户需求的优先级是最高的

“我的客户一直由其他业务部门接洽,我从未见过我的客户,我不知道他们是做什么的。”这是现如今大多数公司的真实写照。

2.欢迎需求变更,即便是在开发的后期。为了客户的竞争优势

没有人愿意接受改变需求。这就是第二个敏捷原则,普遍被厌恶的一个。

3.频繁交付软件,倾向于较短时间跨度

部分公司在这方面做的很好,但是大多数团队无法很好的掌控敏捷时间的尺度。交付时间表通常是基于大的更新,而大更新不属于敏捷。

4.业务人员与开发者的绑定模式一直贯穿项目始末

开发者和业务人员一起工作是罕见的,大多数公司都会有一个中间人来促进这种关系,然后效果是不理想的。开发者需要直接对话的应该是直接使用程序的人,而不是他们的经理。现实生活中的需求往往是由几个个层次以外的人来决定,而不是直接从用户到开发者那来的。

5.激发个体的斗志,以他们为核心创建项目——大多数人都不知道这表达了什么。

这意味着低水平的员工对软件有最好的注意,并且他们积极的去解决问题。项目围绕这些欲望来构造,而这也了直接影响公司的底线。

5a.为他们提供所需的环境和支援,辅以信任,从而达成目标。

这是关于开发者的,你曾经有过这样的工作环境吗?你所需要的工具、访问权限和配件都有。或许不用多说什么了,不是吗?

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

这句话的意思是告诉我不能用IM和邮件来交流吗?如果团队的成员分散于各地呢?我改进现有软件的最有效方法是站在某人后面看他使用。然而在大多数公司中,你做不到这样,即便你知道客户是谁。他们也是忙的无暇顾你,也有可能是其他原因。现如今的人际交往不再像从前那样。不是吗?

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

我们所在测量的都是类似于缺陷率、工作时间等事情,几乎从来没测量过这些事项:顾客得到可工作的功能了吗?我们发布了多少个可工作的功能?这些功能是大、中还是小的?没人知道。

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

这意味着每个人每周都要花30个小时在开发上,还需要花10个小时管理自己和工作负载、与他人沟通等等。这样才能保证这种做法持续下去。更多公司所做的是不定时的加班,有的则是经常加班。这是不可持续的。敏捷模式很少进入这样的紧急模式,而你则是经常性的。

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

在我看来这是对原则1和7的正确权衡。

10.以简洁为本,极力减少不必要的工作量

坦白来讲,大多数团队并没在这上面花费足够多的时间,我们最终不仅复杂了软件,也复杂了开发习惯、复杂了代码,这减缓了维护和新开发。

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

团队是由管理层组织的,几乎没有他们自己的事。不过这只是一个企业文化的问题,并很难被克服。有时在初创公司和小公司你可以发扬这种原则并让其工作,但是在大多数大公司,还是算了吧。

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

这更多地算是一种常见的绩效考核形式,没有我们真正想要的层面。敏捷想要的是“作为一个团队,一起坐下来看看我们做了什么,如何在下一次做的更好”。然而实际上所发生的是个人主观上的计算和测量,基于这些团队几乎得不到任何实际的改进。

所以说敏捷是废话,因为没有人会推崇这些原则来工作,不过他们仍然在说其所做的是敏捷,这是非常让人沮丧的。

敏捷方法存在很多废话,但是同样的废话也会存在于新的软件开发中,从面向对象到面向服务的体系结构等等。一个真正的敏捷方法不适用于紧急状况,更多的是为了产品创新。如果作为准备,他可以改变整个组织,Salesforce从2007年就开始使用Scrum,这使它们能够创建一个可预测的发布周期。并因此而创建越来越多令人印象深刻的功能和产品。

需要明确的是,敏捷方法不是良方,有能力的人、勤奋、专注和自律造就优秀的软件开发。
3
1
评论 共 11 条 请登录后发表评论
11 楼 ray_linn 2015-04-20 11:17
一直觉得敏捷只适合不太复杂的项目 (Project) 不适合大项目 (Program)。在program 中,每个变更都必须被管理,因为变更之后都会牵涉到成本和报价。一张标贴、一个流程、都需要多方评估,给出价格
10 楼 ray_linn 2015-04-20 11:12
theoffspring 写道
zjumty 写道
引用

这意味着低水平的员工对软件有最好的注意

这里的低水平员工原文是" low level employees" 应该翻译为底层员工. 不是指能力水平低的员工.


意思其实就是低水平,经验欠缺者,否则也不会是底层了。


脑残....你们公司有人力地图吗?Lower Level 指的是人事经理带的人,高级程序员、程序员、架构师,这些都属于lower level,干活的人。
9 楼 theoffspring 2015-04-19 12:12
我们公司的一个项目用过scrum,最后做黄了,原因是总是让客户看到你做的中间版本,每次看完客户的需求都会变,每次都以架构师和客户吵起来为结束。
8 楼 theoffspring 2015-04-19 12:11
zjumty 写道
引用

这意味着低水平的员工对软件有最好的注意

这里的低水平员工原文是" low level employees" 应该翻译为底层员工. 不是指能力水平低的员工.


意思其实就是低水平,经验欠缺者,否则也不会是底层了。
7 楼 kadeya 2015-04-17 15:58
说实话,我没怎么看懂。
6 楼 sherryxiu 2015-04-15 13:59
各有个的优势,看你怎么用,在什么情况下使用。
5 楼 sherryxiu 2015-04-15 13:58
有些东西楼主明显较真。
4 楼 ray_linn 2015-04-14 18:00
团队是由管理层组织的,几乎没有他们自己的事  --- 明显翻译错误,要表达的意思是:团队都是管理层弄起来,从来没有自组织的。
3 楼 ray_linn 2015-04-14 17:53
我觉得除了迭代式开发之外,敏捷大部分都是小软件公司的呓语。
2 楼 wondery 2015-04-14 09:30
另一种视角,挺好。
1 楼 zjumty 2015-04-13 16:54
引用

这意味着低水平的员工对软件有最好的注意

这里的低水平员工原文是" low level employees" 应该翻译为底层员工. 不是指能力水平低的员工.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 腾讯这家公司的核心竞争力是什么?为什么?

    我决定在国外出差的最后一晚晚点休息,在酒店静静的认真的回答这个问题。我尽量客观的负责的回答,不愤青,不炫耀,不攻击,用朴实的语言。只代表我个人的思考,不代表公司。  腾讯最出名的是PC端的即时通信(IM)...

  • 软件方法(下)分析和设计第8章连载[20210518更新]

    如果作者认为有道理,决定在下一次发布时根据您的意见修改,将付给您5.12元报酬,并在书中说明您的贡献。报酬通过微信支付。(1)任何您认为的错误都可以,包括错别字。(2)同一错误仅支付最先指正者报酬。(3)请...

  • 这一年,这些书:2022年读书笔记

    Note: 以下 `markdown` 格式文本由 `json2md` 自动转换生成,可参考[JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了](https://blog.csdn.net/u013810234/article/details/113360229)了解具体的转换过程。...

  • Web前端框架开发入坑指南

    都2020年了,尽管 Web 开发的典型应用场景除了将服务器用作平台、浏览器用作客户端之外,几乎很...多个项目组协同开发多个业务应用:大一点公司叫做敏捷或者协同开发,小的公司就是一锅粥开发人干的事杂。 业务和产品

  • 提升技术认知,光闷头写代码,是远远不够的。

    明明自己代码写的更好,为什么晋升的是别人?好不容易晋升到项目管理了,为什么总是达不到领导的期望?团队协同开发,有人忙的要死,有人闲着没事,哪里出了问题?我刚工作那年,自以...

  • ### 文章标题: 【自然语言处理】基于ChatGPT的REFORMER框架:提升Text-to-SQL模型的数据合成与增强系统设计

    内容概要:本文介绍了REFORMER,一个由ChatGPT驱动的数据合成框架,旨在解决Text-to-SQL模型因训练数据不足而导致的泛化能力差的问题。REFORMER通过“检索-编辑”方法,利用ChatGPT生成新的(问题,SQL查询)对,无需额外训练。该框架还引入了问题-查询-问题循环一致性验证,确保生成数据的质量。此外,REFORMER探索了两种数据增强技术:带模式信息的直接改写和使用构造SQL查询描述的改写。实验结果表明,REFORMER在多个评估指标上均优于之前的增强方法。 适合人群:对自然语言处理和SQL查询生成感兴趣的科研人员、工程师,尤其是从事Text-to-SQL模型开发和优化的专业人士。 使用场景及目标:①生成更多样化和高质量的(问题,SQL查询)对以增强Text-to-SQL模型的训练数据;②通过ChatGPT生成新的SQL查询和问题改写,提升模型的泛化能力和适应新领域的能力;③验证生成数据的一致性和质量,确保其符合预期。 阅读建议:本文不仅展示了REFORMER的技术细节和实验结果,还讨论了其局限性和未来研究方向。读者应重点关注框架的设计思路、实验设置和结果分析,以理解ChatGPT在数据增强中的应用潜力。同时,建议结合实际应用场景,思考如何利用REFORMER提升现有Text-to-SQL系统的性能。

  • 20220319-1.pdf

    20220319-1.pdf

  • 电磁兼容仿真:电磁敏感性分析.zip

    电磁领域系列仿真模拟教程,每个包10几个教程,从基础到精通,案例多多。

  • ### 软考高项项目管理领域核心知识点与备考策略:涵盖综合知识、案例分析与论文写作

    内容概要:本文详细介绍了软考高项(高级信息系统项目管理师)的备考策略、考试内容及应试技巧。首先,文章强调了二八法则的应用,即80%的时间精力应放在项目管理领域的核心知识点上,如五大过程组、十大知识域等,20%的时间放在IT知识和组织级项目管理上。备考分为三个阶段:基础阶段通过精读教材、绘制思维导图夯实基础;强化阶段通过真题训练、案例分析提升实战能力;冲刺阶段通过论文押题、模拟考试做好最后准备。文章还特别指出,计算题和论文写作是考试的重点和难点,需重点练习。此外,针对不同地区的考生,提供了差异化的备考建议,如一线城市侧重新技术应用,中西部地区关注乡村振兴信息化等。最后,文章提醒考生关注机考模拟系统的开放时间和准考证打印时间,确保顺利参加考试。 适合人群:准备参加软考高项考试的考生,特别是有一定项目管理基础并希望系统复习、提高应试能力的考生。 使用场景及目标:①帮助考生高效利用有限时间,集中精力复习核心知识点;②通过模拟练习和真题训练,提升计算题和论文写作的能力;③结合实际案例,掌握项目管理全流程知识,提高考试通过率。 其他说明:备考过程中,考生应结合自身实际情况,灵活调整学习计划。同时,充分利用各种学习资源,如精讲课视频、直播课、历年真题等,不断巩固和深化对知识点的理解。考试改革后,机考成为主流,考生需提前熟悉机考系统,确保考试时能够熟练操作。

  • 多功能医用护理床(sw20可编辑+cad+说明书)_三维3D设计图纸.zip

    多功能医用护理床(sw20可编辑+cad+说明书)_三维3D设计图纸.zip

  • 西门子S7-200 Smart与台达DT330温控器基于Modbus RTU的485通讯实现及调试技巧

    内容概要:本文详细介绍了西门子S7-200 Smart PLC与台达DT330温控器通过RS485接口进行Modbus RTU通讯的方法。首先,文中阐述了双方设备的通讯参数设置,确保波特率、校验位等参数的一致性。接着,展示了PLC端的轮询控制逻辑,采用定时器和状态机来管理读写操作,避免数据冲突。对于具体的读写操作,提供了详细的寄存器地址映射规则以及数据类型的转换方法,解决了台达温控器特有的寄存器地址偏移问题。此外,还分享了一些实用的调试技巧,如使用串口助手抓包验证通讯效果,以及针对常见错误码的解决方案。最后,在触摸屏方面,利用昆仑通态MCGS组态软件实现了温度数据显示和设定的功能。 适合人群:从事工业自动化领域的工程师和技术人员,特别是那些需要进行PLC与温控器通讯集成工作的人员。 使用场景及目标:适用于需要将西门子S7-200 Smart PLC与台达DT330温控器进行通讯连接并实现温度监控的应用场合。主要目的是掌握正确的通讯配置步骤,理解Modbus RTU协议的具体应用,提高系统的可靠性和稳定性。 其他说明:文中提到的所有代码均已经过实际测试,并附带详细的注释,便于读者理解和学习。同时强调了硬件连接的重要性,给出了接线建议,帮助初学者少走弯路。

  • 基于Simulink的四永磁同步电机偏差耦合同步控制仿真建模与优化

    内容概要:本文详细介绍了利用Simulink构建四台永磁同步电机(PMSM)偏差耦合同步控制系统的方法及其优化策略。首先阐述了多电机同步控制在工业自动化中的重要性和应用场景,如AGV小车底盘驱动、传送带协同等。接着深入探讨了偏差耦合控制的具体实现方式,包括环形耦合结构的设计、耦合补偿算法以及PID参数调整方法。文中特别强调了耦合系数的选择对于系统稳定性的影响,并提供了具体的MATLAB函数用于计算各电机之间的耦合补偿量。此外,还讨论了如何通过动态权重分配算法来增强相邻电机间的耦合关系,从而提高同步速度。同时,针对可能出现的问题提出了预防措施,如避免使用微分环节、设置合理的摩擦系数和采样周期等。最后分享了一些实践经验,例如采用在线参数辨识技术和低通滤波器以应对负载突变等情况。 适用人群:从事工业自动化领域的工程师和技术人员,尤其是那些对多电机同步控制感兴趣的读者。 使用场景及目标:适用于需要精确控制多个电机同步运行的场合,如生产线上多轴协调动作、机器人关节控制等。主要目的是确保各个电机能够按照预定的速度平稳地协同工作,减少由于不同步造成的故障风险。 其他说明:文章不仅提供了理论指导,还包括了许多实用的操作技巧和注意事项,有助于读者更好地理解和掌握这一复杂的控制技术。

  • 2011春土木工程施工习题集(1).pdf

    2011春土木工程施工习题集(1).pdf

  • 信捷XD5 PLC与欧姆龙E5CC温控器基于Modbus RTU的双设定温度控制系统实现

    内容概要:本文详细介绍了信捷XD5 PLC与欧姆龙E5CC温控器之间的通讯实现及其双设定温度控制功能。首先,文中阐述了硬件连接的具体步骤,包括PLC、温控器和触摸屏的选择与连接方式。接着,详细解释了参数设置的关键点,确保两者能够正确通信。然后,展示了主程序的轮询机制以及温度读取、设定值写入和输出控制的具体代码实现。针对可能出现的问题,提供了详细的避坑指南和技术细节,如温度值转换、通讯超时处理等。最后,强调了系统的稳定性和可靠性,并给出了实际应用中的经验和建议。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC与温控器通讯感兴趣的读者。 使用场景及目标:适用于需要实现PLC与温控器之间高效、稳定的通讯控制的工业自动化项目。目标是帮助工程师快速掌握信捷XD5 PLC与欧姆龙E5CC温控器的通讯配置和双设定温度控制的实现方法。 其他说明:文中提供的代码和配置建议已经过实际项目的验证,具有较高的实用价值。对于初学者来说,可以作为入门级的学习资料;对于有一定经验的技术人员,则可以作为参考和优化现有系统的依据。

  • (整理)2 全 四川大学 土木工程经济练习题 四川大学锦城学院 肖栋天 0303COLLEGE TWO XIA.doc

    (整理)2 全 四川大学 土木工程经济练习题 四川大学锦城学院 肖栋天 0303COLLEGE TWO XIA.doc

  • 电大自我鉴定土木工程.doc

    电大自我鉴定土木工程.doc

  • 粉料搅拌器sw18_三维3D设计图纸.zip

    粉料搅拌器sw18_三维3D设计图纸.zip

  • 00300118347_ad5d7425.pdf

    00300118347_ad5d7425.pdf

  • 【嵌入式开发】STM32F103C8T6最小系统板硬件组成与开发环境搭建指南:快速上手嵌入式项目开发

    内容概要:文章详细介绍了 STM32F103C8T6 最小系统板,包括其组成、硬件连接方式、开发环境搭建步骤以及一个简单的 LED 闪烁示例代码。STM32F103C8T6 是一款基于 ARM Cortex-M3 内核的 32 位微控制器,具有高性能、低功耗和丰富的外设资源。最小系统板由主处理器、电源电路、时钟电路、复位与调试接口和 I/O 引脚组成。硬件连接方面,支持多种供电方式和调试接口。开发环境可以使用 STM32CubeIDE、Keil MDK-ARM 或 Arduino IDE 搭建。; 适合人群:对嵌入式开发有兴趣的学习者和初学者,尤其是希望了解 STM32 系列微控制器的开发者。; 使用场景及目标:① 学习 STM32F103C8T6 最小系统板的基本组成和硬件连接;② 搭建适合 STM32F103C8T6 的开发环境,如 STM32CubeIDE 或 Keil MDK-ARM;③ 实现简单的嵌入式项目,如 LED 闪烁示例。; 其他说明:此指南提供了详细的步骤和示例代码,帮助用户快速上手 STM32F103C8T6 最小系统板的开发。建议在实际操作中仔细阅读每一步骤,并参考提供的代码示例进行实践。

Global site tag (gtag.js) - Google Analytics