有更好的软件开发方法吗?

4分钟阅读时间 (826字)
有更好的软件开发方法吗?

这是本系列文章的第4部分“为什么要敏捷?”

是的,当然有更好的软件开发方式.在Perficient拉丁美洲,我们相信它是敏捷的,特别是在SCRUM下。敏捷不仅仅是一种开发方法,它还回答了关于软件开发的哲学和观点。软件开发与土木工程不同。在土木工程中,一旦一根柱子或主梁就位,它就会停留在那里。那是你建的大楼,句号。至少在理论上,软件是“软的”——它们可以改变、塑造、扩展。这是使软件开发更具挑战性的原则之一:它们总是可以改变的,因为人类总是寻求改进或使事情变得更好,软件应用程序总是会改变的。

开发敏捷的工程师,或者特别地,它使SCRUM成为其中之一敏捷的主要方法他们是在对一个他们认为不起作用的系统和做软件的方法做出反应。敏捷之父们意识到,尽管他们在应用“传统”软件工程方法(如RUP或SCRUM)方面付出了努力,但他们交付的项目超出了计划,超出了预算,而且功能也不能完全满足客户的需求。此外,他们注意到软件开发人员和客户之间的关系趋于紧张,防御性,有时甚至是完全的争吵——在坚持最初的需求(开发人员为之奋斗的)和改变它们以适应新的需求(客户为之奋斗的,但不涨价!)。软件中的敏捷方法是从其他注重创造力和创造性的行业中借鉴而来的。雷竞技raybet提现

例如,SCRUM之父之一Jeff Sutherland受到了Hirotaka Takeuchi和Ikujiro Nonaka在《哈佛商业评论》上写的一篇文章的启发《新产品开发新游戏》.在文章中,竹内和野中郁次郎描述一个电子产品开发的新方法在项目的所有阶段重叠,与团队一起工作在不同阶段重点是快速适应新的挑战,并将新的想法/修改产品,因为它们存在。

敏捷之父意识到,任何软件开发项目都非常像一个新的电子小工具的发明,原因有以下几个:

1)它是一种从未存在过的“产品”,因此,它的产生涉及创造性和反复试验;

2)这是不可能的——或者至少是非常、非常困难的——估计迭代产品所需的时间和精力,直到它第一次向公众发布;

3)许多人通过交互使产品成为现实,不同的团队最终将他们的工作集成到“系统作为一个整体”中,以便所有组件能够无缝地协同工作;

4)这个产品的最初想法或草图与最终的表现是非常遥远的(比如,史蒂夫·乔布斯最初设想的iphone的样子与它最终的样子是完全不同的,这对乔布斯或任何人来说都是不可能的,预测将“iphone”理念迭代至完成所需的时间和最终成本)。

敏捷的倡导者,特别是SCRUM方法,寻求一种新的方式来管理软件工程,对大自然的信息,而不是创建一个新的产品,商业模式或流程(所有这些都是实实在在的通过软件),与人类固有的品质,这样的创作过程。也就是说,他们寻求一种方法,承认:

1)创造力不随时钟而来,天才的火花意外迸发;

2)一个人想象一个无形概念的能力是有限的,因此,当这个概念变成有形的——即。当一个人第一次看到一个软件屏幕并“玩”它的时候,新的想法马上就会涌进来,因为其中很多都是好的,所以它们应该被整合;

3)软件是复杂的,经常以难以预测和预见的方式与其他系统交互——因此,任何提前计划的练习几乎总是以不完整告终;

4)迭代和增量过程最擅长于创造具有可塑性的想法,并使其成熟,直到能够面向市场。

从本质上讲敏捷软件开发运动试图创造一种具有适应性而非预测性的过程——一种方法。所谓适应性,我们指的是一个软件过程,它能够吸收新的想法,甚至是潜在的方向变化,而不会在项目流程和组织中造成混乱,也不会给开发本身带来不必要的成本。

关于Perficient拉丁美洲:Perficient拉丁美洲公司专门从事外包和近岸业务敏捷软件开发,软件维护,质量保证和人员扩充。Perficient拉丁美洲在哥伦比亚、墨西哥和美国设有办事处,客户遍及拉丁和北美,从科技初创公司到财富500强公司不一而足。


相关的帖子

评论

目前还没有任何评论。第一个提交评论
已经注册?登录这里
客人
2021年11月4日,星期四

验证码图片

通过接受,您将访问https://nearshore.perficient.com/外部的第三方提供的服务