swift桌面软件

In the past 20 years, we’ve seen a surge in the adoption of agile methodologies. A 2018 Forrester study showed that over 60% of large companies adopted agile software development practices and over 80% planned to in 2019.

在过去的20年中,我们已经看到敏捷方法的采用激增。 Forrester 2018年的一项研究表明,超过60%的大公司采用了敏捷软件开发实践,而超过80%的公司计划在2019年采用。

However, despite agile’s promise of faster software delivery, the same study showed that the release frequency at these companies has remained flat since 2014. Over half of the companies released software less than one time per quarter and 12% of enterprise employers release software less than once per year.

但是,尽管敏捷承诺提供更快的软件交付,但同一项研究表明,自2014年以来,这些公司的发布频率一直持平。超过一半的公司每季度发布软件的次数少于一次,而12%的企业雇主发布的软件发布频率低于每季度一次。每年一次。

These release cycles fall far short of agile’s promise that teams will release at the end of every sprint. So what’s happening here? Why can’t we get software in customers’ hands faster?

这些发布周期远远没有达到敏捷团队在每次冲刺结束时都会发布的承诺。 那么这是怎么回事? 为什么我们不能更快地将软件交付客户?

识别交付管道中的木log (Identifying the Clogs in Your Delivery Pipeline)

Jeffrey Hammond, VP & Principal Analyst at Forrester, compares the problem to a clogged kitchen sink:

Forrester副总裁兼首席分析师Jeffrey Hammond将问题与堵塞的厨房水槽进行了比较:

“No matter how much water you pour into that sink — no matter how much you increase the velocity of what you’re doing upstream — if there’s a clog, it’s not going to matter. No water’s going to get through the sink.” — Jeffrey Hammond

“无论您向该水槽倒了多少水,无论您增加上游做水的速度是多少,如果有木,,都没关系。 水不会流过水槽。” — 杰弗里·哈蒙德 ( Jeffrey Hammond)

These clogs that stop a team from delivering come in many forms. Let’s take a look at five of the most common reasons agile release cycles aren’t faster in enterprise software teams.

这些阻碍团队交付的障碍物有多种形式。 让我们看一下企业软件团队中敏捷发布周期不快的五个最常见原因。

1.手动批准和交接 (1. Manual Approvals and Handoffs)

Allison Pollard, an agile consultant who has worked for enterprise clients like Thomson Reuters and American Airlines, says that one of the biggest challenges her clients face when trying to speed up their delivery cycles is the build-up of manual approvals over time.

艾莉森·波拉德 ( Allison Pollard )是一位敏捷顾问,曾为汤森路透(Thomson Reuters)和美国航空(American Airlines)等企业客户服务,她说,在试图加快交货周期时,客户面临的最大挑战之一是随着时间的推移逐步建立人工审批。

“There are often ten or more different approvals trying to mitigate different risks,” Pollard claims. “Trying to untangle that is rather difficult and feels risky.”

Pollard声称:“通常有十个或更多不同的批准试图减轻不同的风险。” “试图解开这相当困难并且感到冒险的事情。”

While development teams can’t ignore security and quality checks, they have to find a way to speed up and automate some of these processes if they want faster delivery. And, even when practices such as CI/CD are implemented, teams still often require manual walkthroughs for deployment approval.

尽管开发团队不能忽略安全性和质量检查,但如果他们想更快地交付,他们必须找到一种方法来加速和自动化其中一些流程。 而且,即使实施了CI / CD之类的实践,团队仍然经常需要手动演练来批准部署。

As Hammond points out, “The number one problem we see when trying to become more agile is that many organizations are still using manual practice… Automating these release activities is very much still a work in progress.”

正如Hammond指出的那样:“在变得更加敏捷时,我们看到的首要问题是,许多组织仍在使用手动实践…自动化这些发布活动仍在进行中。”

Forrester Business Technographics Developer Survey — 2014–2018Forrester商业技术开发人员调查— 2014–2018

2.整体式传统代码库 (2. Monolithic, Legacy Codebases)

Old codebases are the second common reason for slow release cycles. While modern architectures built with microservices, serverless computing, or Docker containers support continuous integration (CI) and continuous delivery (CD), which can speed up release cycles, many enterprises still work with codebases that can be decades old. It’s difficult to automate deployments with CI/CD when working with a complex legacy codebase that was designed to be released as a single unit.

旧的代码库是缓慢发布周期的第二个常见原因。 尽管使用微服务 , 无服务器计算或Docker容器构建的现代体系结构支持持续集成(CI)和持续交付(CD),这可以加快发布周期,但许多企业仍在使用可能已有数十年历史的代码库。 当使用设计为单个单元发布的复杂旧代码库时,很难使用CI / CD自动化部署。

Even with some automation in place, the team members assigned to work on the older code may not be those who originally built it. If technical debt hasn’t been addressed, there will be parts of the codebase that are not well-documented or understood, slowing down fixes and releases. Add in slow or missing tests, and the problem is compounded.

即使有了一些自动化,分配来处理较旧代码的团队成员也可能不是最初创建它的那些人。 如果技术债务得不到解决,那么代码库中的某些部分将无法得到充分的记录或理解,从而减慢修复和发布的速度。 添加慢速或丢失的测试,问题变得更加复杂。

3.开发周期长 (3. Long Development Cycles)

Long development cycles are another common cause of infrequent releases. While agile is now the methodology of choice, it’s often difficult for organizations to fully understand and adopt agile delivery practices. Therefore, some organizations adopt what Hammond calls the “Water-Scrum-Fall” method, or scrunching a Scrum methodology between an up-front design phase and a manual deployment phase. Similar to the effects one sees with the Big Bang strategy, companies that insist on working in long development cycles will always struggle with deployment frequency.

漫长的开发周期是发布不频繁的另一个常见原因。 尽管敏捷是现在选择的方法,但是组织通常很难完全理解并采用敏捷交付实践。 因此,一些组织采用Hammond所谓的“ 水灾秋天 ”方法,或者在前期设计阶段和手动部署阶段之间纠缠Scrum方法。 就像人们在使用“ 大爆炸”战略时看到的效果一样,那些坚持以较长的开发周期工作的公司将始终在部署频率上苦苦挣扎。

Getting software into the wild faster is one of the core benefits of agile. “There’s a difference between walking [customers] through mockups and asking ‘What do you think?’ and putting them in their hands and watching them actually use it,” says Pollard. Unfortunately, she sees many organizations putting a strong emphasis on “complete feature delivery,” rather than taking an MVP approach.

更快地使软件泛滥是敏捷的核心优势之一。 “浏览(客户)样机与询问'您的想法有何不同?' 并把它们放在手中并看着他们实际使用它,” Pollard说。 不幸的是,她看到许多组织非常重视“完整功能交付”,而不是采用MVP方法 。

4.对缺陷的恐惧 (4. Fear of Defects)

Another reason software delivery speeds have remained stagnant in many organizations is a fear of defects. Organizations may lack confidence in their releases, preventing them from releasing during peak hours or causing them to rely on lengthy, manual testing cycles. Modern cloud-native technologies and increasingly complex production environments only add to the drop in confidence.

在许多组织中软件交付速度仍然停滞的另一个原因是对缺陷的恐惧。 组织可能对其发布缺乏信心,从而阻止了它们在高峰时段发布或导致他们依赖漫长的手动测试周期。 现代云原生技术和日益复杂的生产环境只会增加信心下降。

It’s hard to write end-to-end tests for serverless microservices that can’t easily be run locally, so developers become cautious. Unless companies utilize tools to monitor their development and staging environments, defects can easily slip through, confidence will drop, and release frequency will fall.

很难为无法在本地运行的无服务器微服务编写端到端测试,因此开发人员会变得谨慎。 除非公司使用工具来监视其开发和登台环境 ,否则缺陷很容易漏掉,信心将下降,发布频率也会下降。

5.修补程序 (5. Hotfixes)

Finally, Hammond points out that there is a “lack of focus on the upstream pipeline from production back into development.” In other words, most organizations perseverate on how quickly they can release new features but fail to focus on their speed to identify and address issues when they arise.

最后,哈蒙德指出,“缺乏对从生产到开发的上游管道的关注”。 换句话说,大多数组织都坚持要以多快的速度发布新功能,却无法专注于发现和解决问题时的速度。

“All of these organizations focus on delivering into production, but that’s only half of the problem,” says Hammond. “From the point in time that you ship version one, you’re going to be dealing with incidents.” Finding and fixing errors quickly requires a comprehensive monitoring solution and a robust incident management process. “Only a third of organizations have any sort of process to deal with incident management,” Hammond continues.

Hammond说:“所有这些组织都专注于交付生产,但这只是问题的一半。” “从发布第一版的时间点来看,您将要处理事件。” 快速发现和解决错误需要全面的监视解决方案和强大的事件管理流程。 “只有三分之一的组织拥有处理事件管理的任何流程,” Hammond继续说道。

Without the ability to understand and fix production defects quickly, subsequent releases will be delayed, slowing the delivery process even more.

如果没有快速了解和修复生产缺陷的能力,后续发布将被延迟,从而进一步降低交付过程的速度。

我们如何加快发布速度? (How Can We Speed Up Releases?)

Achieving more frequent releases requires a change in culture, and it can be scary. “When you go to that release management group and try to change things, a number of them might be scared,” says Pollard. However, our job as leaders is to face this challenge.

实现更频繁的发布需要改变文化,这可能会令人恐惧。 Pollard说:“当您去那个发布管理团队并尝试进行更改时,其中一些可能会感到害怕。” 但是,我们作为领导者的工作就是要面对这一挑战。

Here are three ways we can work to speed up releases:

我们可以通过以下三种方式来加快发布速度:

  1. Lean Startup — First, adopt the “lean startup” mentality. Try to think of each release as a part of the build-measure-learn cycle and build a culture that embraces iterations. Abandon the water-scrum-fall methodology and the “Big Bang” release strategy. The ultimate goal should be to get major features in users’ hands as quickly as possible.

    精益创业—首先,采取“ 精益创业 ”的思想。 尝试将每个发行版视为构建度量学习周期的一部分,并构建一种包含迭代的文化。 放弃掉水的方法和“大爆炸”释放策略。 最终目标应该是尽快使用户掌握主要功能。

  2. Culture of Quality — Second, build a culture of quality. Celebrate teams that address technical debt, automate manual processes, implement better testing practices, and reduce defects. Make uptime and automated test coverage a priority and tell the whole company about your new efforts.品质文化-其次,建立品质文化。 庆祝解决技术债务,自动化手动流程,实施更好的测试实践并减少缺陷的团队。 将正常运行时间和自动测试覆盖范围作为优先事项,并向整个公司介绍您的新工作。
  3. Error Monitoring — Finally, implement comprehensive monitoring across all your environments to catch errors long before they reach production, and help your teams define goals around automated test coverage. Error monitoring tools, such as Rollbar, not only provide immediate notification of your errors across all environments, but they also include contextual information about those errors, such as stack traces, code versions, user details, and more. This can help you to quickly diagnose and triage defects, allowing you to find and fix defects faster, increase team confidence, and release more frequently.

    错误监视-最后, 在所有环境中实施全面的监视,以在错误产生之前就及时发现错误,并帮助您的团队确定围绕自动测试范围的目标。 错误监视工具(例如Rollbar )不仅可以在所有环境中立即通知您的错误,而且还包括有关这些错误的上下文信息,例如堆栈跟踪,代码版本,用户详细信息等。 这可以帮助您快速诊断和分类缺陷,使您可以更快地查找和修复缺陷,增强团队信心并更频繁地发布。

结论 (Conclusion)

Adopting a few agile best practices alone isn’t going to magically speed up delivery forever. As we’ve seen, many organizations that “go agile” are still unable to push updates live more than once per quarter.

仅采用一些敏捷的最佳实践并不能永远永久地加快交付速度。 如我们所见,许多“敏捷”的组织仍然无法每季度发布一次以上的更新。

However, by identifying bottlenecks, working to change your company’s culture, and implementing the right tools, leaders can achieve faster release cycles and get their software into customers’ hands, faster.

但是,通过确定瓶颈,改变公司的文化并实施正确的工具,领导者可以实现更快的发布周期,并将其软件更快地交付客户。

翻译自: https://medium.com/better-programming/why-your-software-isnt-getting-to-market-fast-enough-b55ad7c190f3

swift桌面软件


http://www.taodudu.cc/news/show-5242213.html

相关文章:

  • vue下载依赖dos命令_Windows是否仍然依赖MS-DOS?
  • Robust Monocular SLAM in Dynamic Environments(浙大章国锋)
  • 【Educoder】密码学理论与实战 30+完整过题代码
  • P-1 jQuery代码的写法简介
  • 整数因子分解的Pollard p-1方法
  • Poj 1811 Prime Test 素数测试 Miller-Rabin 与 整数的因子分解 Pollard rho
  • 简述大数分解算法Pollard Rho和Pollard p-1
  • 因子分解算法——Pollard 的p-1方法
  • 数论密码
  • 数学基础4 Euler函数 二次剩余 米拉质数测试 波拉德的罗 类欧几里得算法 Stern-Brocot树
  • magento -- 开发magento快钱支付模块
  • php 实现快钱支付功能(涉及到接口)
  • 详解ChaosBlade
  • Chaos 解密:如何使 Chaos 更快更强
  • UE5_定序器中使用chaos(记录一下)
  • 提升服务质量的高效工具Chaos Monkey
  • 故障演练--使用 ChaosBlade 进行混沌实验
  • UE4 Chaos代码结构剖析
  • 阿里chaosblade工具实践
  • ChaosBlade Java 场景性能优化,那些你不知道的事
  • 混沌网格(Chaos Mesh)的设计和工作原理
  • 【Chaos Mesh官方文档】Chaosd Introduction
  • Python chaos
  • 混沌工程开源工具 Chaosblade 探究
  • 【Chaos Mesh官方文档】Quick Start
  • Chaos Mesh 实践
  • ChaosBlade权威指南
  • ChaosBlade学习
  • Android 高德地图地铁信息查询
  • 【地图册制作】ArcGIS分幅制图——以深圳地铁线路图为例

swift桌面软件_为什么您的软件无法Swift投放市场相关推荐

  1. 怎么把计算机的桌面软件卸载,笔记本怎样卸载软件_笔记本桌面上的软件怎么卸载-win7之家...

    我们都会在电脑中下载各种各样的软件,时间久了桌面的软件就会很多,而有些并不是我们主动下载的,而是绑定下载,所以我们可以将一些不需要的软件卸载,很多笔记本电脑用户还不知道怎样卸载软件,针对此问题,本文给 ...

  2. 怎么把桌面上的计算机软件移除,笔记本怎样卸载软件_笔记本桌面上的软件怎么卸载-win7之家...

    我们都会在电脑中下载各种各样的软件,时间久了桌面的软件就会很多,而有些并不是我们主动下载的,而是绑定下载,所以我们可以将一些不需要的软件卸载,很多笔记本电脑用户还不知道怎样卸载软件,针对此问题,本文给 ...

  3. 编程用的记事本软件_数控常用编程软件那么多,你用哪一种?

    数控编程同计算机编程一样也有自己的 "语言",不同的是 ,现在计算机市场以微软的 Windows 为绝对优势 .数控系统还没有哪一家占据绝对优势,也就是说 数控系统一时还不能达到相 ...

  4. 快准牌电脑发软件_电脑如何下载软件

    鹏哥的世界 关注 随着社会的快速发展,"快文化"的冲击,能坚持看书的已经不多了,一周一篇体验"慢"生活 --摆渡人 文章首推 •刷网课请点击这里•刷二级请点击这 ...

  5. python实现自动打电话软件_全自动手势联系软件 让你轻轻松松打电话

    电话号码超级多的童鞋们,由于手机里存储的电话太多,每次要找某个人的电话很难找,有木有同感的?小编今天像大家推荐一款新潮的帮助你轻松找到想要的电话的模式,有没有很想知道呢?其实小编本来是想卖个关子的,既 ...

  6. 测试眉形的有哪个软件_适合眉毛的软件

    1.美容眉毛的ps软件有什么 1.在photoshop中打开原图,打开原图后. 2.单击常用工具栏上的"画笔工具". 3.单击画笔属性栏上的画笔选择框右上角的黑色三角形箭头,在弹出 ...

  7. 安卓手机主题软件_安卓手机赚钱软件

    点击 蓝色 字体关注我们 如果你刚好没工作,请找我 每天更新海量兼职 如何你刚好有空余时间,请加我 每天为你推荐合适工作 如果你想挣点零花, 请@我 为你介绍海量兼职APP 如果你刚好符合上面描述,那 ...

  8. 全站仪和手机连接软件_南方全站仪传输软件-南方全站仪传输软件下载 1.0 中文版 - 河东下载站...

    南方全站仪传输软件提供了数据传输的功能,在使用全站仪设备测绘数据的时候,其获取的数据全部都是保存在仪器中的,如果需要将数据复制到电脑上,通过简单的数据连接是不行的,你需要利用针对该设备开发的输出传输软 ...

  9. 可以分屏的软件_拥有这款软件,就相当于同时拥有电子相册、录屏、转换、剪辑软件...

    点击蓝字关注我们 对于我们来说,用照片记录生活已经成为我们日常生活中的一种习惯.出去旅游遇到好看的风景,我们会拍照留念:同学或者朋友难得聚餐一次,也会拍个合影:过年回家,全家人难得聚一次,也会拍上一张 ...

最新文章

  1. window环境Visual Studio配置:OpenCV,Eigen,jsoncpp
  2. 聊聊storm的stream的分流与合并
  3. 基于OpenCV的膨胀和腐蚀
  4. Python中strip()、lstrip()、rstrip()用法详解
  5. Android创建文件为unix格式,Recovery模式下/cache/recovery/目录下创建文件,开机后文件被删除...
  6. 2021年下信息系统项目管理师报考和考试时间
  7. java jdk设置字符集_使用JDK 11在Java字符串上的新方法
  8. 与context的关系_Go中的Context超时和关闭是如何实现的呢?
  9. dubbo发布webservice服务
  10. java中ajax的使用jar包_AJAX Java示例
  11. 在CentOS 6.7部署wordpress博客系统Discuz论坛系统
  12. python网络安全宣传周_基于Python的IA分布式系统_吴芳
  13. 树莓派人脸识别源代码
  14. 软考中级-数据库系统工程师复习知识点汇总
  15. 块截断编码图像压缩技术
  16. 域名网址被微信屏蔽的解决方案微信域名网址被屏蔽了红了如何继续使用
  17. 操作系统银行家算法计算机四级,【NCRE四级网络工程师】操作系统多选题
  18. 草根互联网经理掀起的中国性解放运动
  19. 文件系统--open系统调用详解
  20. netbean 偶尔无法设置断点问题

热门文章

  1. ubuntu18.04配置ORB-SLAM3(包含ROS)完整版教程
  2. 六步透视网易设计规范
  3. stram流 Collectors.groupingBy分组后顺序错乱问题
  4. 1_28_python基础学习_0427
  5. 据说高手们都是用这6个PPT技巧提高效率
  6. python初学者编程指南源码_Python可以这样学 PDF 带讲义代码版
  7. Delta Lake - 走进 Databricks
  8. 暴力破解与验证码安全之——验证码安全
  9. linux中怎么安装node
  10. Vscode中,无法打开源文件 “Adafruit_GFX.h“