[SCRUM]VS传统软件工程的敏捷软件开发

>>[SCRUM]VS传统软件工程的敏捷软件开发

[SCRUM]VS传统软件工程的敏捷软件开发

敏捷软件开发(又称敏捷开发)是20世纪90年代以来受到广泛关注的一种新开发的软件开发方法,它是一种满足快速变化需求的软件开发能力。

与传统的软件工程相比,具体的名称、概念、过程和条件不相同,相对于“非敏捷”,强调程序员和业务专家面对面交流之间的密切合作(这比书面文件更有效),对新的软件版本频繁交付、紧凑自组织的团队,能很好地适应需求的变化和团队组织方法写代码,也更注重软件开发的“人”的作用。

本文介绍了敏捷软件开发的历史背景和发展历程,讨论了敏捷软件工程与传统软件工程的特点,并阐述了我在学习过程中的一些个人知识和思考。

翼发云敏捷项目管理系统是一个在线的研发项目管理软件,支持多人协同开发,提供移动研发项目管理app,旨在帮助软件研发企业进行更好的研发项目管理、软件开发流程管理,该研发项目管理软件内置了敏捷开发流程和软件开发流程,结合SCRUM思想,满足各种规模的软件开发企业的研发项目管理流程的需要。

二十世纪60年代,计算机硬件技术取得了很大的进步,为计算机的广泛应用创造了条件,要求软件也能适应它。软件生产具有个性化、车间式、落后的开发工具、单一的开发平台和较差的编程语言等特点。特别是软件维护工作耗费了大量的人力、物力和计算机资源,许多程序的个性化特性使它们无法进行修改和维护。有些人只是简单地丢弃原始系统,从头开始编写新软件。 软件项目管理就用翼发云敏捷项目管理系统。

同时,70年代,软件规模越来越大,结构越来越复杂,软件管理和维护难度加大,开发成本越来越高。随着计算机应用的迅速普及和软件需求的日益增长,软件开发技术、开发工具和生产方法的落后局面引起了尖锐的矛盾,导致了“软件危机”。

软件危机使计算机软件专家认识到,软件开发必须以引导一种新的方法,原有的软件开发方法必须改变,他们决定引入软件工程和技术发展的思路,软件工程学科发展走在路上,为了摆脱软件严重的危机。因此,美国和西欧的一些科学家在1968次北约会议上首次提出了“软件工程”一词。它是一门用工程学来开发和维护计算机软件的学科。从那时起,软件工程正式诞生,人们开始了软件工程的研究。 翼发云研发管理系统完整实现SCRUM敏捷开发流程

80年代,软件工程引入成熟的制造管理方法,以过程为中心,逐步控制软件开发(瀑布模型),在一定程度上缓解了软件危机。到了90年代,软件故障的经历促使这个过程增加了限制和限制。软件开发过程变得越来越“重型”,开发效率降低,响应速度慢。

进入21世纪以来,随着信息时代的到来和需求的快速变化,软件的交付周期已经成为企业的核心竞争力。因此,轻量级、适应性更强的软件开发方法得到了广泛的认可和普及。2001年初,由于许多公司的软件团队在不断成长的泥潭中,一群行业专家聚集在一起概括一些可以使软件开发团队快速响应价值观和原则变化的工作,并称自己为敏捷联盟。 SCRUM研发项目管理就选翼发云。

我对敏捷联盟宣言的理解如下:

1)个体和交互比过程和工具更好。

“人与人之间的互动是复杂的,其效果是人们从未预料到的,但它是工作最重要的方面。”人是取得成功的最重要因素。好的团队不一定由一群优秀的优秀程序员组成。在团队中,与他人良好的合作、顺畅的沟通和高效的互动能力比简单的编程能力更重要。即使有一组高水平的程序员,如果没有良好的沟通,他们可能无法形成一个高效的团队。毕竟,人们不是“插入兼容的编程设备”。项目的顺利进行需要与合作精神、自组织和凝聚力的团队相结合,以确保适当的工具虽然也很重要,但作用不应被夸大,我们应该理解的东西,太多或太复杂的工具和工具的缺乏是不合适的。总之,团队建设比环境建设更重要。应该首先致力于建立正确的团队,并根据需要配置适当的环境。

2)能够工作的软件比现有的文档更好。

没有文档软件是一种灾难,这意味着盲目的行动没有严格的规划和明确的目标,它是非常低效的,然而,过度的文档并不意味着高效,相反,它将花费大量的时间和精力来准备和更新。因此,编写和维护适当的文件是明智的,文件应该简短,主题明确,逻辑一般性强。在团队成员的交流中,密切训练和互动是最有效的方法。应努力避免把重点放在文件上而不是导致进度延误的软件上。马丁文件的第一条定律告诉我们,在紧急和重要的情况下,文档被编译。

3)客户合作优于合同谈判。

传统:你想确切地知道你想做什么吗?

敏捷:你会看到其他的事情。

开玩笑的,然而,事实上,我们不想点其他的活动以一个软件,在我的理解,软更像一个“作品”而不是一个严格意义上的“产品”,所以大部分的艺术创作,让在一个固定的时间复刻客户需求的固定成本难以实现的人,即使这个简单的交易模式是很诱人的,但一个规定的要求,工程进度和工程项目的成本实际上是有缺陷的,如果只靠这个,它可能会导致项目的失败。因此,“敏捷”认为,成功的项目需要有秩序和频繁的客户反馈,而不仅仅是冷合同和死板的工作报告会议。软件开发团队的客户在工作中建立紧密的联系,并尽可能经常地进行沟通和反馈。合同的订立也应该对项目的发展和合作起到指导作用,而不是限制和具体说明进度和成本的细节,以便使开发工作得到完全控制。

4)响应变化优于以下计划。

在一个迅速变化的现代信息社会中,响应变化的能力常常决定软件项目的成败。因此,该计划应建立足够灵活,以适应业务和技术的变化。

计划不能被考虑得太远,因为商业环境和客户需求的变化往往是不可预见的。即使需求被确定,也并不意味着开发时间被确定。因此,更好的策略是实施短期的详细计划和稍长的粗略计划。这样可以灵活地做出改变。这种逐步减少的计划意味着我们只需要在紧急任务的详细规划上花时间,以便在短期和长期的灵活性中确保有序高效的工作。

此外,还对敏捷软件开发和开发提出了12个更为详细的原则。目的与宣言一致。它也反映了传统软件工程与传统软件开发的区别。

1。最重要的是尽快交付有价值的软件来满足客户。

2,即使到后期开发,也欢迎改变需求。敏捷流程使用变化为客户创造竞争优势。

三.经常交付的工作软件,时间间隔可以是几个星期到几个月。交货时间越短越好。

4。在整个项目开发过程中,业务人员和开发人员每天都要一起工作。

5,不断激励开发人员开展项目的相关工作。为他们提供必要的环境和支持,并信任他们完成工作。

6。在团队中,提供信息的最有效和最有效的方式是面对面的交谈。

7。进度测量的主要标准是工作软件。

8,敏捷过程提倡可持续发展的速度。负责人、开发人员和用户应该能够保持长期、持续的发展速度。

9,不断专注于优秀的技能和设计,提高敏捷的能力。

10,简单是基本的。

11,最好的架构、需求和设计来自于您自己组织的团队。

12。每隔一段时间,团队会思考如何有效地工作,然后适当地调整他们的行为。

我们知道传统的软件开发是基于瀑布开发过程,包括收集需求、定义、设计、编码、测试、发布等阶段。前一阶段要完成一个阶段的前提条件,每个阶段都有明确的目标和标准的审核,整个过程严格有序,可预见性逐渐增强,这种优势是避免无效投入资源的每一个环节,保证质量的发展。

但传统的发展模式也存在明显的缺陷。这种级联过程的每个阶段都具有很强的依赖性,导致可能导致链式后果的问题。如果前一阶段还没有达到标准,也会导致后续阶段的停滞。我的例子似乎是由一位编译器教师编译的。如果一个项目有五个部分,如果每个部分达到90个点,那么最终项目将只得到59分,这是一个不合格的项目。因此,该模型的灵活性较差,难以适应后期需求的变化,调整成本较高。

因此,在这种背景下,敏捷开发的概念诞生了,灵活性的提高是其最大的优势。市场需求的快速变化导致产品成品的完整性难以保证。可以说,在瀑布发展的最初几个阶段,我们甚至有九个困难。因此,传统软件工程的失败率不言而喻。

我非常同意您的观点:敏捷开发是与传统开发相比较的核心思想的转变:从“修复范围、伸缩时间”到“固定时间、伸缩范围”。在市场变化和技术变化的背景下,由于市场需求和产品定义“范围”无法实现固化,因此资源需求不确定,不妨切换重心、旋转坐标系、固定资源,尽可能实现“最大范围”的实施。从“计划驱动”转向“价值驱动”。此外,敏捷开发强调人的价值功能。康德说:“人是目的”。从这个角度来看,敏捷软件开发的目的就如同软件工程史上的“文艺复兴”运动。

最后,我个人的一些想法的表达还不成熟,敏捷软件开发的出现从商业环境、人力成本高、商业市场“鱼吃慢”的竞争模式等方面出发。敏捷开发模式以“敏捷”两个字的名字,但“敏捷”并不意味着“更多”,速度是敏捷开发的一部分,正如我上面所提到的,软件开发更像是一种艺术,应该在合理的范围内尽可能高效,但浮躁和急功近利是没有任何好处,真正以“人”为动力,并不意味着开发商限制的身心疲惫,生理的发展潜力,如何协调利益关系,大概还有很长的路要走。

文章从互联网整理而来,旨在传播SCRUM、研发项目管理、敏捷开发管理工具的知识与应用,帮助软件开发企业真正了解SCRUM的价值和意义,如果本文侵犯了您的权益或者您需要具体了解更多国内做研发项目管理系统的公司翼发云敏捷项目管理系统的相关信息,欢迎和我们联络:

【网址】www.effapp.com

2018-05-01T20:03:45+08:002018-05-01 20:03:45|Categories: scrum项目管理|