文章源自略懂百科-http://wswcn.cn/85650.html
20 世纪 70 年代,软件开发流程开始有了一套自己的方法论。从大家耳熟能详的瀑布式开发,到近几年来被越来越多提及的敏捷和 DevOps 等新兴理念,软件开发流程一路进阶演进,不难发现,软件开发需求越来越多,规模越来越大,而对软件开发的效率要求越来越快。本文将为大家梳理为了提效,软件开发流程发生了哪些改变。文章源自略懂百科-http://wswcn.cn/85650.html
一、瀑布式开发与三角模型文章源自略懂百科-http://wswcn.cn/85650.html
上世纪 50 年代,一种被用来有数项目发展过程的项目管理三角的模型开始被人们广泛使用。文章源自略懂百科-http://wswcn.cn/85650.html
项目管理三角模型认为:文章源自略懂百科-http://wswcn.cn/85650.html
1. 质量工作是由该项目的预算、时间和功能来限制;文章源自略懂百科-http://wswcn.cn/85650.html
2. 项目经理可以约束之间的平衡;文章源自略懂百科-http://wswcn.cn/85650.html
3. 一个约束的变化需要其他约束的变化来补偿,否则质量将受到影响。文章源自略懂百科-http://wswcn.cn/85650.html
在早期,瀑布式开发与三角模型相关联,由此表明:软件开发可以由应用程序创建或构建所花费的时间长度来定义。文章源自略懂百科-http://wswcn.cn/85650.html
然而,在当时,创建、测试和部署软件通常需要很长时间,因为在开发过程中没有制衡。结果是软件质量不佳,存在缺陷和错误以及未满足的时间表。因此,瀑布式开发的重点是软件项目的长期计划。文章源自略懂百科-http://wswcn.cn/85650.html
这种思维方式来自制造和工程,其中线性过程是有意义的 —— 你先建墙,再建屋顶。同样,软件开发问题被视为可以通过计划解决的问题。从开始到结束,开发过程都由路线图明确定义,路线图将导致产品的最终交付。文章源自略懂百科-http://wswcn.cn/85650.html
但是,瀑布式被认为是对软件开发有害的,因为通常直到项目周期的最后阶段才能确定其价值,并且在许多情况下项目都失败了。此外,客户直到项目结束才能看到可运行的软件。文章源自略懂百科-http://wswcn.cn/85650.html
二、敏捷开发文章源自略懂百科-http://wswcn.cn/85650.html
事情到了敏捷时代发生了改变。敏捷采取了一种不同的方法,不再规划整个项目,承诺预计日期,并对计划负责。而是假设并拥抱不确定性,改变被认为是满足客户需求的一种方式。它定义了以下 12 条原则:文章源自略懂百科-http://wswcn.cn/85650.html
1.我们的首要任务是通过早期和持续交付有价值的软件来满足客户。文章源自略懂百科-http://wswcn.cn/85650.html
2. 欢迎不断变化的需求,即使是在开发后期。文章源自略懂百科-http://wswcn.cn/85650.html
3. 敏捷流程利用变化来获得客户的竞争优势。文章源自略懂百科-http://wswcn.cn/85650.html
4. 频繁地交付可工作的软件,从几周到几个月不等,优先考虑较短的时间范围。文章源自略懂百科-http://wswcn.cn/85650.html
5.业务人员和开发人员必须在整个项目中每天一起工作。文章源自略懂百科-http://wswcn.cn/85650.html
6.围绕积极的个人建立项目。文章源自略懂百科-http://wswcn.cn/85650.html
7. 为他们提供所需的环境和支持,并相信他们会完成工作。文章源自略懂百科-http://wswcn.cn/85650.html
8. 向开发团队和在开发团队内部传达信息最有效的方法是面对面交谈。文章源自略懂百科-http://wswcn.cn/85650.html
9. 工作软件是进度的主要衡量标准。文章源自略懂百科-http://wswcn.cn/85650.html
10. 敏捷流程促进可持续发展。赞助商、开发者和用户应该能够无限期地保持恒定的步伐。文章源自略懂百科-http://wswcn.cn/85650.html
11、对卓越技术和良好设计的持续关注可提高敏捷性。文章源自略懂百科-http://wswcn.cn/85650.html
12、团队定期反思如何提高效率,然后相应地调整和调整其行为。文章源自略懂百科-http://wswcn.cn/85650.html
从敏捷开始,短时间和高效率成为开发理念中的一个重点。文章源自略懂百科-http://wswcn.cn/85650.html
三、DevOps开发运维一体化文章源自略懂百科-http://wswcn.cn/85650.html
而 DevOps 理念的出现则让提效更进一步。文章源自略懂百科-http://wswcn.cn/85650.html
DevOps的精髓是:开发和运维之间没有墙;它们同时工作,没有孤岛。文章源自略懂百科-http://wswcn.cn/85650.html
DevOps 正是基于精益和敏捷两个实践领域。虽然敏捷和 DevOps 有很多不同之处,但它们都寻求解决复杂问题、提高质量并围绕软件设计进行创新。文章源自略懂百科-http://wswcn.cn/85650.html
与此同时,DevOps 加快了开发和运维人员之间的工作,还减少了 Dev 和 Ops 之间的分工。这是因为 DevOps 要求持续部署、交付和集成。团队合作是一体的;问题和故障由开发、运维和其他实体共同拥有,例如质量保证(QA)、测试、自动化等。文章源自略懂百科-http://wswcn.cn/85650.html
总的来说,无论是敏捷还是 DevOps,都旨在帮助团队更快、更高效地工作,更快地交付高质量产品和提高客户满意度。文章源自略懂百科-http://wswcn.cn/85650.html
四、软件开发工具文章源自略懂百科-http://wswcn.cn/85650.html
除了以上软件开发流程的演进,为了达到更快更好的开发目标,不断有新式的开发工具涌现出来,一起助推 DevOps 的落地。比如 JIRA、Trello 等敏捷开发工具,Maven、NPM、Gradle 等持续交付工具,Zabbix、Elastic、Grafana、Kafka、Ansible、Logstash、Prometheus 等自动运维工具等等。文章源自略懂百科-http://wswcn.cn/85650.html
此外,也出现了一些以SoFlu 软件机器人为代表的,集大成的工具也同时应用自动化、AI 等技术,以更好地帮助企业实现降本提效。文章源自略懂百科-http://wswcn.cn/85650.html
SoFlu软件机器人作为全球首款面向微服务架构设计和最佳实践的软件机器人,实现了业务即图,图即代码的开发效果,极大地降低软件开发的门槛,一人全栈解决:后端开发、前端开发、测试、运维等所有工作。从而摆脱软件开发对人力的过度依赖,解决企业软件开发面临的科技人员招聘难、人力成本高、管理难等问题,使得软件开发十倍提效,从而全面提升企业科技生产力。文章源自略懂百科-http://wswcn.cn/85650.html
SoFlu软件机器人通过自动化、标准化和工具化,颠覆传统软件工程作业模式,解决传统软件工程过分依赖人工、IT人力成本高、技术选型难等重大问题,突破被IntelliJ IDEA、Eclipse等国外JAVA开发工具的卡脖子技术。其包括:文章源自略懂百科-http://wswcn.cn/85650.html
后端全自动开发平台:可视化开发、轻松上手、低门槛、配置灵活、丰富组件帮你快速高效完成项目;文章源自略懂百科-http://wswcn.cn/85650.html
前端全自动开发平台:提供可视化开发模式,快速开发前端界面交互,提供丰富的页面控件实现页面自定义开发,无业务场景限制,简化后端接口数据联调,生成前端部署包实现应用项目私有化部署;文章源自略懂百科-http://wswcn.cn/85650.html
全自动测试平台:一站式全自动测试平台, 覆盖整个软件测试的生命周期管理,包含测试用例管理、测试计划管理、接口测试、性能测试等功能,并且完全兼容JMeter;文章源自略懂百科-http://wswcn.cn/85650.html
全自动运维平台:自带服务、注册中心、分布式链路追踪、服务发现、服务治理等。文章源自略懂百科-http://wswcn.cn/85650.html
现在可申请免费试用 SoFlu 软件机器人 30 天,申请链接:http://feisuanyz.mikecrm.com/9dW4GeZ文章源自略懂百科-http://wswcn.cn/85650.html
了解更多软件开发信息,可添加微信: feisuan123,备注 加群,入群讨论文章源自略懂百科-http://wswcn.cn/85650.html
文章源自略懂百科-http://wswcn.cn/85650.html
评论