敏捷设计是一个过程而不是一个事件。它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程。它致力于保持系统设计在任何事件都尽可能得简单、干净以及富有表现力。
敏捷开发最不能容忍的几点:
- 僵化性:很难对系统的某一部分进行改动,因为改动这个有可能引发别的也需要一同改动;
- 脆弱性:对系统改动会导致系统中和改动的地方在概念上无关的许多地方出现问题;
- 牢固性:很难在其他系统中使之重用;
- 粘滞性:做正确的事情比做错误的事情要困难;
- 不必要的复杂性:对系统过于封装的复杂,使程序不易看懂;系统中含有使用不到的代码;
- 不必要的重复:在系统中多处地方出现类似的代码;
- 晦涩性:代码很难理解,很难阅读,没有很好的表现出意图。
在大多数软件项目中最不可预测的就是需求的变化,这是作为软件开发人员必须接受的事实!我们生活在一个需求不断变化的世界中,我们的工作要保证我们的软件能承受住需求的变化。如果承受不住需求的变化,那么敏捷开发就是失败的。
敏捷开发致力于马拉松赛跑,一步一个脚印,慢慢积累,最开始使用最简单的做法,在以后的一天天里慢慢的改进原先的代码,当看到有需要修改的代码,作为敏捷开发人员必须要马上改掉,而不应该散漫和推脱。
简而言之,敏捷开发人员知道自己要做什么,是因为:
- 遵循敏捷时间去发现问题;
- 应用设计原则去分析问题;
- 适当运用设计模式去解决问题;
而我把敏捷开发人员需要知道自己做什么简单的定义为3q法则,3代表三条,q代表中文的去的首字母。时刻记住这3q法则,则能很好的知道自己在做项目中处于一个什么角色。
保持尽可能好的设计,做到一个敏捷开发人员该有的特质,看到不好的代码改之,看到不好的设计改之,尽可能的使代码通俗易懂,从而给人的感觉像是一个人开发的一样,做到人人可以看得懂别人写的代码,人人可以动手改别人不好的代码。这就好小时候医生给我们打防御疫苗一样,没跟针都进过消毒,消毒过程是对每个小孩生命的正西(当然对于部分所谓的医生我直接无视),如果没有消毒过程,那么被感染的风险会大大提高,这是难以忍受的。敏捷开发对于我们程序员来讲是同样的道理。
总之,源代码一定要保持干净,简单,稳定,职业特性使我们有着对代码有精益求精的精神。虽然敏捷开发在中国很难坚持,但是还是尽量做到最好。
分享到:
相关推荐
不过,敏捷设计并不像传统开发那样产生详尽的文档,而是更加注重可执行的、轻量级的设计输出。 **数据结构设计**在敏捷和传统开发中都是必不可少的。敏捷开发的数据结构设计通常从业务模型(领域模型)开始,然后...
敏捷软件开发设计是一种快速响应变化、迭代且以人为本的软件开发方法论。它的核心理念在于通过短周期的迭代和持续的反馈来提高效率和质量。在敏捷开发中,团队以小步快跑的方式推进项目,每次迭代都产出可用的软件,...
Martin(也被称为“鲍勃叔叔”),作为软件开发和工程领域的大师,阐述了敏捷开发中的核心原则、设计模式和实践,尤其是在极限编程(Extreme Programming, 简称XP)方面的应用。XP是一种敏捷软件开发方法,它在预算...
### 敏捷开发的核心理念与实践 #### 一、敏捷开发概述 敏捷开发是一种强调灵活性、快速响应变化的软件开发方法论。与传统的瀑布模型相比,敏捷开发更加注重团队之间的紧密协作、持续改进以及高质量的产品交付。...
对于高校计算机专业本科生、研究生和软件学院的师生而言,这本书可以作为学习敏捷开发、极限编程、面向对象设计模式以及UML等知识的重要教材或参考资料。对于已经工作在软件开发和管理岗位的专业人士,这本书同样...
现在已经有大量的书籍描述敏捷开发是什么或者为什么它能帮助软件项目成功,但很少有哪一本书能把针对开发者、管理者、测试者和客户的信息合并成一个整体,从而使其能够直接应用。, 本书为敏捷的计划、开发、交付和...
这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。 [b][font color="#ff6600"]特色内容: ●讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。 ●...
敏捷软件开发:原则、模式与设计.pdf敏捷软件开发:原则、模式与设计.pdf
敏捷测试更重视测试在需求分析、设计和实现阶段的作用,并注重测试与开发的紧密配合。 敏捷开发方法包括多种形式,例如极限编程(XP)、Scrum、敏捷建模(AM)、自适应软件开发(ASD)、水晶方法(Crystal)、特性...
首先,我们要理解什么是敏捷软件开发。敏捷开发是一种以人为本、迭代且增量的软件开发方法论,强调灵活应对需求变化,以客户满意度为核心目标。它提倡快速响应变化,通过短周期的迭代,不断交付可用的软件,从而提高...
敏捷软件开发现在是很流行的,来参加一次这方面设计的最佳实践
敏捷开发还包括敏捷极限编程(XP),它是一种增强软件开发实践的方法,包括计划游戏、持续集成、测试驱动开发、重构和简单设计等实践。XP要求团队成员严格遵守这些实践,从而提升软件的质量和生产效率。 敏捷宣言下...
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法论,强调灵活性和客户协作,以适应快速变化的需求。这种开发模式起源于2001年,由一群软件开发专家共同提出的敏捷联盟宣言和12条实践原则,旨在解决传统开发过程...
**C++ 敏捷开发资料概述** 敏捷开发是一种软件开发的方法论,强调灵活性、迭代式开发和快速响应变化。在C++这样的编程语言背景下,敏捷开发可以帮助团队更高效地完成项目,提高软件质量和用户满意度。这份资料包...
它通过具体的案例,展示了如何在实际项目中应用敏捷开发和极限编程的理念,并且如何在项目中有效地利用UML进行设计和沟通。通过丰富的源代码和案例分析,读者可以了解到在项目开发过程中如何有效地解决实际问题,...
敏捷软件开发 原则模式及实践 非常好的书。