首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在开发过程中平衡质量和速度

如何在开发过程中平衡质量和速度
EN

Software Engineering用户
提问于 2015-09-21 07:20:40
回答 2查看 1.9K关注 0票数 6

我在专业软件开发领域已经有5年多了。多年来我遇到的一种强烈的挫折感是,当我正在开发的软件产品变得不稳定、脆弱和受到损害时。当然,这似乎总是发生在我急于开发几个新功能,并满足一个非常积极的,似乎武断的最后期限。

新特性需要仔细的设计、扎实的开发和彻底的测试。然而,遵守最后期限的重要性损害了这些进程中的每一个,导致了极其脆弱的应用。

作为一名开发人员,我对自己的技能和经验很有信心,而且我知道,在适当的环境下,我可以生产出一个很棒的软件产品。但是当这些项目出现的时候,我不可能把我的工作做好,我也不能支持我的工作。

伟大的软件公司如何处理这个问题,从而最终的结果是一个伟大的产品?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2015-09-21 07:38:39

伟大的软件公司如何处理这个问题,从而最终的结果是一个伟大的产品?

不同的公司对此有不同的处理方式。

  • 最明显的候选人是,他们没有非常积极或武断的最后期限。
  • 有些公司不关心如何生产优秀的软件产品,因为消费者对劣质产品和/或大型软件产品的花费太高了。
  • 一些公司要求有一个积极的最后期限,因为上市时间对他们来说很重要。他们晚些时候回去还清技术债务。

但有一点要注意的是,总会有妥协的。你很少有时间去做完美的事情。您几乎总是会包含一些似乎毫无意义的功能。

这些东西不应该使你的软件不稳定或脆弱。这些事情不应该涉及死亡游行到最后期限。这不是妥协。

在解决双方的需要方面,正在达成一些折衷办法。

票数 4
EN

Software Engineering用户

发布于 2015-09-21 07:58:32

测试。

如果您完全测试您生成的每一段代码,那么您可以对它有信心。

如果测试失败,您可以明确地说,有一个错误,企业可以作出决定,以适应这个错误,但你会把它找出来。

如果您希望有时间编写更多的测试,但业务不会让您有这段时间,您可以合法地说,您不自信,因为它没有测试。(确保您可以在自信之前列出要运行的测试!)

但在某一时刻,你必须完成一些工作,你很高兴地说,这符合要求。

当然,与此齐头并进的还有需求。我认为这往往是因为devs被告知要生产满足高要求的产品,“我们需要支持10亿用户!”而实际的需求却要低得多。“为什么要花这么长时间?!我只需要在下周的展会上为5个用户演示一些东西!”然后它就会上线,你可能会被抓到,‘我们说了10亿用户!!它只掉了一百万!’

一个好的开发人员能够做的事情之一就是在要求业务不能告诉你的需求和好战的样子之间走一条很好的线,只是想出一些演示,但在生活中不会是一个很好的产品。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/297824

复制
相关文章
如何在技术和业务中保持平衡?
如果时间退回到十多年以前,新兴互联网公司的技术人员几乎都是从「业务开发」开始自己的职业生涯的。然而到了今天,不知道你有没有发现,业务开发和纯技术的开发已经有了明显的分野。
木东居士
2020/02/21
1.5K0
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/28
4370
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/02/26
4420
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/18
7340
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/01/25
4920
如何在基于Bytom开发过程中使用Bigchaindb
基于 Webpack 提升构建速度和保证构建质量详解
有一个很简单的划分方式,就是以构建(build)为分界线,分成前向治理和后向治理:
winty
2021/05/18
7090
基于 Webpack 提升构建速度和保证构建质量详解
ServiceOps:在DevOps中平衡速度和风险
CrowdStrike 的停机事件突出了当今业务运营的互联性,其中单个错误可能会影响许多组织和人员。CrowdStrike发生的事件 可能会发生在任何公司,即使是那些拥有良好变更控制和发布实践的公司,尤其是在组织中不同的开发团队采用不同的发布实践来加速软件交付时。缺乏统一的软件发布方法会增加引入错误或性能问题的风险。
云云众生s
2024/08/25
1100
ServiceOps:在DevOps中平衡速度和风险
敏捷过程中如何保证代码质量
本文目录: 一、为什么要做代码质量分析 二、常见的代码质量分析工具 三、DevOps平台中的代码质量分析 四、DevOps平台中如何为代码质量提供保障 一、为什么要做代码质量分析 在软件开发过程中,当
yuanyi928
2018/04/02
2K0
敏捷过程中如何保证代码质量
如何在开发生命周期之初改善软件质量
先人一步的企业正开始采用安全编程方法和工具,在软件开发生命周期的早期阶段处理安全问题。MaaS360 by Fiberlink公司的信息安全官David Lingenfelter说:“如果企业组织在软
静一
2018/03/22
9970
如何在开发生命周期之初改善软件质量
QUIC 如何在速度和安全性方面取代 TCP?
原文链接:How QUIC Is Displacing TCP for Speed and Security
萝卜要努力
2025/03/07
1080
QUIC 如何在速度和安全性方面取代 TCP?
如何平衡研发与开发
对于程序员来讲,很多时候会纠结一个问题,我做了这么多项目,除了上线了产品,自己的逻辑、对产品的设计进步了哪些,这一点对前端、后端其实都是一样的具有迷惑性。
RobinsonZhang
2018/08/28
5280
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
支撑影视人像抠图、医疗影像分析、自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术。相比目标检测、图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不可替代,也是智能视觉算法工程师拥有关键核心竞争力的关键!
计算机视觉
2022/05/24
1.6K0
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
如何在序列标注过程中打标?
英文打标,token可以是一个单词(e.g. awesome),也可以是一个字符(e.g. a)。
伊泽瑞尔
2022/06/01
3610
如何在序列标注过程中打标?
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
一些用户已经注意到Elasticsearch 8.6、8.7 和 8.8 在很多不同类型数据写入时速度都获得了可观的提升,从简单的Keywords到复杂的KNN向量,再到一些负载比较重的写入处理管道都是这样。写入速度涉及到很多方面:运行写入处理管道、反转内存中的数据、刷新段、合并段,所有这些通常都需要花费不可忽略的时间。幸运的是,我们在所有这些领域都进行了改进,这为端到端的写入速度带来了很不错的提升。例如,在我们的基准测试里面,8.8比8.6写入速度提升了13%,这个基准测试模拟了真实的日志写入场景,其中包含了多种数据集、写入处理管道等等。请参见下图,您可以看到在这段时间内,实施了这些优化措施后写入速率从 ~22.5k docs/s 提升到了 ~25.5k docs/s。
点火三周
2023/07/11
1.3K0
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
企业如何在采购过程中做好成本控制?
学会降低成本是有效采购的其中一个重要方面。单是这个因素,就能决定是几乎没有盈利,还是大赚一笔。但是在降低成本的时候,企业要牢记一点——不能牺牲质量。降低成本很重要,但前提是保证质量,企业的供应品需要始终保持足够好的质量,而且需要按时交付。
数商云市场营销总监
2022/03/16
7320
在网络端口扫描期间寻找速度和准确度之间的平衡点
侦察是每个bug bounty或渗透测试中最为重要的阶段之一。侦察工作做得到不到位,可能会对最终的结果产生直接影响。侦察可以分为两类:即主动和被动侦察。在主动侦察中端口扫描是最常用的方法之一。通过端口扫描渗透测试人员或漏洞猎人可以确定在目标主机或网络上打开的端口,以及识别在这些端口上运行的服务。
FB客服
2019/08/30
1.8K0
在网络端口扫描期间寻找速度和准确度之间的平衡点
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
在网络通信中,数据序列化是将对象状态转换为可存储或可传输的形式的过程,这对于TCP网络传输尤为关键。在项目中,当需要处理几十万条数据的传输时,传统的Json序列化方式由于其冗余的字段名和字符串格式,导致了二进制包体积庞大,且序列化与反序列化的效率低下。为了解决这些问题,我考虑采用更加高效的序列化方法,以减少包大小并提升处理速度。本文将探讨自定义二进制序列化、BinaryWriter/BinaryReader、MessagePack[1]和ProtoBuf[2]等4种序列化方法,并通过比较它们的性能,为大家提供我目前认为的最佳实践指南。
沙漠尽头的狼
2023/12/13
5110
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
如何在 CI/CD 过程中实施高效的自动化测试和部署
在持续集成(CI)和持续交付(CD)过程中,自动化测试和部署是提高软件交付速度和质量的关键。本文将详细介绍如何选择适合的CI/CD工具,配置自动化构建和测试流程,制定全面的测试策略,并确保部署环境的稳定性,采用蓝绿部署等策略降低风险。
Swift社区
2024/08/01
3730
如何在 CI/CD 过程中实施高效的自动化测试和部署
栈平衡和栈迁移
程序的运行需要数据,而数据就存放在内存中。首选的存放地址肯定是寄存器中(运行速度快),但是寄存器也就几个,数据很多,所以就把数据存放在了堆栈中。
ly0n
2020/11/04
1.2K0
栈平衡和栈迁移

相似问题

保证开源Python项目的质量和故障修复速度

30

什么时候应该停止开发和质量保证?

60

将产品和团队从创业竞赛迁移到质量开发

30

如何平衡Sprints的速度和客户保守的采用计划?

40

如何平衡文档需求和敏捷开发

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文