敏捷软件开发宣言:
个体和交互 胜过 过程和工具
可以工作的软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过遵循计划
今天看了robert martin的PPP一书的第一部分,敏捷开发
回顾了自己曾经加盟过的几个公司,经历过的大大小小的项目,感慨良多。
这些公司中不乏奉过程开发为宝典,甚至有的蹭破头皮为CMMI而设计一些开发流程,文档规范。
还有一些则奉敏捷为信条,当被指责代码注释不够,文档缺乏的时候,这些大侠们就会搬出本文开头的敏捷宣言。
我的想法是:
1.敏捷和过程其实并不矛盾,甚至是相辅相成,当过程开发给大家带来好处的时候,敏捷这个词语还没出生呢。
2.敏捷其实是对过程的拨乱反正,当CMM/CMMI在大公司流行的时候,我身边很多在某某知名软件公司工作的同学,朋友就向我感慨道,他们的上班太没意思了,基本上就是写文档,很少写代码,甚至冗长的流程让他们失去了往日的激情。。。其实敏捷并不排斥过程,只是敏捷更注重结果,人的作用,团队的力量,而不是该死的条条框框。
3.有时候敏捷未必行得通,比如敏捷提倡当用例太多无法在规定时间完成的时候,就去砍需求。比如不提倡加班,匀速的进行开发。但是我认为这里面的主角往往是项目经理以及更上层的老大,如果他们不能为团队创造出一个敏捷的氛围的话,那么这些想法就是白搭。
总之,不管是敏捷还是过程,我们的最终目的是可运行的软件,良好的质量,良好的维护性。而创造这个最终成果的,是整个团队。所以,一个成功的项目背后,往往是一群凝聚力极强的人,以及一个或者一群思维活跃的领导者。
结论:
任何一种思想都值得被尊重,没有好与不好,只有是不是适合你。请以一种平常心对待任何有想法的东西,而不是去一味奉承或者一味贬低,尊重别人也是对自己的一种尊重。
分享到:
相关推荐
总而言之,《敏捷软件开发实践》不仅是一本介绍敏捷开发方法的书籍,更是一本关于如何将敏捷理念融入日常工作的实用指南。无论是对于刚刚接触敏捷的新手还是已经有一定实践经验的开发者来说,这本书都能够提供宝贵的...
然而,这种想法是错误的。敏捷过程分为三部分:敏捷项目管理、敏捷需求分析和敏捷软件开发。敏捷需求分析是整个敏捷过程的核心。 在敏捷需求分析中,商务分析师扮演着关键的角色。他们需要与客户交流,了解和分析...
6. 敏捷团队与沟通:敏捷团队通常是跨功能的,意味着团队成员拥有完成产品从想法到交付所需的各种技能。敏捷开发鼓励开放式沟通和信息的透明流通。 7. 持续改进:敏捷开发倡导持续地进行过程和实践的改进。通过回顾...
下面是基于给定的文件内容,总结的一些重要的敏捷管理知识点: 1. 敏捷团队中, Velocity(速度)低于预期时的处理方式 在敏捷开发中,Velocity是指团队在一个 Sprint 中完成的工作量。若 Velocity 低于预期,敏捷...
- **开放沟通环境**:鼓励成员之间坦诚分享想法与意见,避免信息孤岛现象发生。 - **定期培训提升**:安排定期的技术交流会或外部课程,帮助员工掌握最新知识动态。 - **合理授权分配**:给予团队成员足够决策权,在...
### 敏捷软件开发概述 #### 一、引言:不可知与无法沟通 - **不可知性**:软件开发过程中遇到的问题往往...- **参考书目**:最后部分提供了一些关于敏捷开发的经典著作和参考资料,帮助读者深入了解相关理论和技术。
《Rails 敏捷开发实践》是一本关于如何高效地利用 Ruby on Rails 进行敏捷开发的经典书籍。本书由蔡望勤(Jesse Cai)撰写,他是一位资深的 Ruby 开发者,自2006年起便致力于 Ruby on Rails 的开发工作,同时也是...
4. 产品和需求管理:敏捷开发注重产品功能的快速交付,从用户的想法开始,到创建Product Backlog,再到拆分用户故事,都需要有结构化的方法来梳理和管理需求。文档中提到了如何有效地拆分用户故事以及如何在敏捷项目...
Spotify强调持续学习和创新,鼓励分队利用10%的工作时间参与“黑客日”,这是一个自由探索新想法和分享成果的时间。这种文化促进了内部协作,激发了快速适应市场变化的能力。 Spotify的成功在于它不仅采用敏捷方法...
敏捷开发借鉴了精益生产的一些理念,如持续改进、快速反馈和价值流映射等,以提高软件开发的效率。 **写不写文档?** 在敏捷开发中,虽然文档仍然很重要,但强调的是“工作软件胜过详尽的文档”。这意味着团队应该...
在开发过程中,经常会遇到一些事先未曾预料到的问题。通过站会,这些问题可以被及早发现,并在团队内部得到及时讨论和解决。这有助于避免后期出现更大的问题,减少不必要的返工。 **1.3 提高工作效率** 站会通过...
- **鼓励创新思维**:通过营造一个支持创意和创新的文化氛围,激励团队成员提出新想法和解决方案。 - **强化跨部门合作**:打破传统的企业壁垒,加强不同部门之间的沟通和协作,形成协同效应。 - **提升团队能力**:...
敏捷开发测试流程中还特别强调了“Lead Time”的概念,即从一个想法产生到这个想法变成可工作软件的时间。敏捷致力于缩短Lead Time,从而提高响应市场的能力。在敏捷流程中,需求分析、设计、编码、测试等环节是相互...
Visual Studio 2010的原型设计、建模和设计工具能够帮助开发者释放创造力,使得他们能够更快地将想法转化为实际的解决方案。此外,该工具还支持SharePoint和Windows Azure应用程序的开发,让开发人员可以利用现有的...
虽然敏捷强调“工作软件”胜过详尽的文档,但它并不排斥创建必要的模型来帮助理解问题域、沟通想法或规划工作。例如,用例图、类图或顺序图可以在早期迭代中使用,以辅助理解和设计。因此,这个陈述是错误的。 总结...
11月初,参加了MartinFowler在北京的技术演讲,聆听了大师关于敏捷的一些看法,在谈到团队对敏捷掌握的熟练度方面,提出了星级的概念,有点类似的CMMI的成熟度模型。其中提到的很多观点,我个人非常有共鸣。回来后,...
尽管敏捷开发带来了很多益处,但也存在一些挑战: - **文化转变**:组织文化和团队成员的态度需要调整以支持敏捷原则。 - **技能提升**:团队成员可能需要学习新的工具和技术。 - **领导力转型**:管理层需要采用新...