百度360必应搜狗淘宝本站头条
当前位置:网站首页 > SEO教程 > 正文

为什么我们程序员不把软件开发当回事?

gaoyangw 2024-11-27 13:22 13 浏览 0 评论

作者 | Dev by RayRay

译者 | 弯月,责编 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

以下为译文:

最近,我一直在想为什么大多数公司认为软件的构建过程与现实世界基础设施的构建有很大的不同呢?

我想谈一谈我们必须像构建现实世界的基础设施那样重视软件的构建。每当我与其他人谈起这件事时,我们都非常震惊, 作为软件开发人员,为什么我们未能认真对待自己的工作呢?

需求

首先让我们从处理软件开发中的需求开始说起:

软件开发

在从事软件开发的最近十年中,我见识了很多收集需求的方法。大多数人并没有认真对待这项工作,他们的思想非常“敏捷”,并没有真正理解自己在构建什么。

虽然他们制定计划本身就遇到了问题,但依然会义无反顾地开始写代码。没有任何需求,只有我们需要构建什么的想法。一边写代码一边思考需求。这些项目迟早会因为缺乏清晰的目标而受阻。现实世界的基础设施

当需要在现实世界盖楼、搭建桥梁、建购物中心或其他基础设施时,人们首先会讨论需求。

目标用户需要什么?需要解决的问题是什么?需要在哪一块土地上建造?为什么人们需要这个建筑?……

为了确立一个好的需求清单,需要回答很多问题。我想上述问题只是其中很小一部分。

为什么人们会如此重视现实世界基础设施的构建呢?可能是因为他们不想花冤枉钱,他们不希望发生事故,他们希望为最终用户创造成功。当然,他们也想赚钱。

现实世界与软件开发

为什么我们大多数人(从事软件开发的人)不会严肃认真地想清楚需求呢? 我们不在乎吗?我们不想为我们的用户创造成功吗?我们不在乎钱吗?我并不这样认为!

你的老板也不会这样想。但他们知道些什么?你的老板很有可能并不是软件开发人员、架构师或设计师。即便你的老板是,你会听他的吗?

请不要误会我的意思,我并不想别人对我有意见或不高兴!

但我认为,作为软件开发人员,我们必须更加认真地对待我们的需求。我们必须为我们的工作感到更加自豪。为了给这些人提供建议,我们必须提出需求。

灵活性

如果比较构建软件开发与构建现实世界的基础设施,就会发现二者在灵活性方面有很多差异。深入研究一下,看看是否真的有很大的不同,还是说软件开发人员推动了新事物的发展?

软件开发

几个世纪以来,我们从瀑布式开发过渡到了敏捷开发。在瀑布式开发中,所有流程都依序而建:编写需求、构建软件、测试软件,然后发布。

起初听起来这种方式还不错。然而问题出现了,我们需要等待数月之久,才能测试软件。

瀑布式开发的效果不是很好,因此一些聪明人提出了《敏捷宣言》。这套准则可以帮助我们更灵活地构建软件。因为在开发过程中,需求可能会发生变化。

需求之所以会发生变化,是因为用户提供了反馈或人们使用软件进行了测试。

也许是软件公司不知道究竟应该为用户解决什么问题。因此敏捷开发应该让应用程序的开发成为学习的过程,敏捷是企业成功的关键。

然而当一家公司从瀑布式转变为敏捷式后,他们就认为不再有需求了,他们可以随时根据需要提出任何变更,即便他们没有意识到变更带来的影响。于是问题出现了。

作为一家软件公司,如何才能以敏捷的形式开展工作,这个话题足以写一本书或一系列的文章。

如果公司制定出需求,而且这些需求都能得到满足,那么就可以将影响降到最低。但是大多数公司不会花时间来制定需求。

因此在大多数情况下,影响都会超出估计。每当需求不断变化,或者我们需要更新依赖关系,或者从一个框架改为另一个框架时,每个人都会有点过于轻敌。

很多人没有意识到这些变化的影响!希望你不是其中之一!

现实世界的基础设施

在现实世界基础设施的构建过程中,一旦发生任何变故,每个人都知道这可能会对金钱或完工日期造成巨大的影响。

当必须有所变动时,整个工程都需要暂停。而且还需要看看变动带来的影响。但是这种效果可能会很大。

因此,整个建筑团队、建筑师和其他人员都必须回到图纸上。需求的变化会产生巨大的影响!团队中的每个人都清楚这一点。

因为他们知道每次变动都需要付出金钱和时间的代价,而且可能还会对项目的成功带来风险。

现实世界与软件开发

将两个世界相比较,我认为我们必须更加清醒地意识到变化带来的影响。依赖关系的变化、架构的变更。在做出决定之前,我们应该针对每项变化进行适当的调查。

如果我们更加认真地考虑时间和金钱对企业的影响,那么就不会再轻易考虑架构变更了。

因此,我们应该意识到这一点。此外,如果你非常清楚变更造成的影响,那么就有责任为做出决定的人员提供建议。

维护

说起维护,我们都知道软件开发和现实世界的基础设施都离不开维护工作。但是公司处理软件和现实世界基础设施的维护方式却有很多差异。

软件开发

我见过很多公司都没有人来维护软件。当开发结束,你要求投入维护人员时,有些公司甚至会感到很惊讶。有些人甚至会很愤怒!

当然,也并非所有公司都会轻视软件的维护工作。谢天谢地,有很多优秀的公司,在软件发布后就会投入人员来更新软件或改Bug,甚至改进软件。

但是在小规模的公司中,普遍没有人承担这些工作。

这些公司里的大多数经理都认为:“开发团队应该为软件的未来做好万全的保障,不应该有任何Bug。”

然而,我们都知道人无完人,所以软件也永远不可能没问题。

现实世界的基础设施

在现实世界中,道路、桥梁、房屋或其他建筑物等基础设施通常都需要有人来承担维护的工作。

你的房子经常需要一些维护,比如粉刷墙壁、换屋顶、修漏水等。当然你可以雇一家公司来做这些事。

每个人都知道现实世界中的基础设施需要维护,否则就会年久失修。

道路需要时不时地铺筑水泥和沥青,木材需要新的油漆,或者由于环境而造成的其他问题。

软件开发与现实世界的基础设施

令人非常震惊的是,许多公司甚至都没有考虑软件的维护工作。他们将其归咎于开发人员,认为他们应该获得没有任何Bug的软件,或者觉得他们必须在未来十年内重新构建这些软件,所以没必要维护。

老实说,我们不会对建造房屋、道路、桥梁和其他现实世界基础设施的人说这些话。那么,你又为什么会觉得软件不需要维护呢?

服务器获取安全补丁,框架的Bug得到修复。我们都希望我们每天使用的软件会越来越好,越来越安全,不是吗?

我希望这篇文章能引起人们的注意,希望我们作为软件开发人员更加深刻地意识到这个问题。

软件开发与现实世界基础设施的构建没有太大的不同。因此,我们应该更加认真地对待我们的软件开发,并更加深刻地意识到我们对其产生的影响。

我们应当以身作则,影响那些没有认真对待这个问题的公司。我们为自己的工作感到自豪,并更加认真地对待每一项工作!

链接:https://medium.com/better-programming/we-are-not-serious-enough-about-software-development-b9e3222f2906

本文为CSDN翻译文章,转载请注明出处。

相关推荐

常见的软件开发技巧(软件开发常使用的两种基本方法)

使用有意义的命名变量/函数名清晰表达用途,避免模糊命名,遵循内部统一的命名规范文档。...

互联网 / 软件开发行业就业指导(互联网软件开发赚钱吗)

一、这个行业是做什么的?互联网/软件开发是现在最热门的行业之一。你每天用的微信、抖音、淘宝、外卖App,其实都是软件开发的成果。这个行业包括很多方向,比如前端开发(做网页和App的界面)、后端开发(处...

软件开发的定义和详细解析(软件开发包含哪些过程)

软件开发是指通过系统化的方法设计、编写、测试和维护计算机程序、应用程序或系统软件的过程。其核心目标是解决特定问题、满足用户需求或实现某种功能。以下是软件开发的详细解析:1.核心阶段需求分析:明确用户...

破解软件开发的秘密:中科院团队让AI像真正的程序员一样工作

这项突破性研究由中科院深圳先进技术研究院的张磊、杨嘉曦、杨敏教授等人与阿里巴巴集团的研究团队联合完成,于2025年6月发表在第42届国际机器学习大会(ICML2025)上。这是一项关于让人工智能真正...

6月17日软件开发概念梳理(软件开发的概念)

金橙子四方精创朗新集团拉卡拉恒生电子长亮电子...

软件开发工程师证书怎么考?哪个部门颁发的?考了有什么用

在信息技术快速发展的时代,软件开发工程师的需求持续增长,而获得相关证书成为许多人提升职业竞争力的关键途径。那么软件开发工程师证书是什么?由哪些单位颁发?如何报考?一、软件开发工程师证书是什么...

什么是软件开发?(什么是软件开发模型,常见的软件开发模型有哪些?)

软件开发的意思呢就是说,基于程序设计语言,如java\net\php等开发语言,去实现某一类需求系统的开发和建设,并最终将其安装到电脑或手机,甚至是冰箱等智能设备载体上去运行的一种行为;软件开发的行为...

关键词排名:信胜科技关键词排名优势

随着网络的发展,网络的数量已近数以亿计,庞大的信息便捷的访问,人们习惯了从互联网中搜索自己需要的资料,但是庞大的数据量让人们很难再短期内找到自己需要的信息,通过搜索引擎能更快,更准确搜索到所需要的信息...

度娘快照更新缓慢 请大家千万不要惊慌!

对于度娘的快照问题一向就被众多站长看得比较重要,很多站长都将其用来判断一个网站是否被降权的标准之一,同时也是各位站长在进行友情链接交换的判断标准之一。其实在笔者看来单单使用度娘快照来判断一个网站的优质...

“百度快照时间”被写入史册,会影响度娘翻牌子么?

今天,百度站长平台给了众网站管理员一封信,一封和曾经关系多少人的KPI,曾经被多少管理者心心念念的百度快照有关系的信,内容发布时间光荣上位,直接替代掉了之前的快照时间。下图就是实际效果,之前的百度快照...

百度快照时间或将不会显示 站长怎么看

百度站长平台一直有给站长朋友们介绍过:一直以来,部分站长对百度快照的更新时间都存在一些误解,认为网站的快照更新时间与网站的权重状态存在一定关系,快照更新越频繁,网站的权重越高,反之,越低。而实际上,网...

缩短链接如何实现?(怎样缩短链接)

缩短链接是指将两个或多个不同的网页或页面之间的链接长度缩短,以便更方便地导航和使用。在搜索引擎中,缩短链接可以提高网页的可见性和搜索引擎排名。本文将介绍如何缩短链接。1.确定缩短链接的页面...

盘点网站百度快照回档或不更新的12种原因

相信很多站长朋友都遇到过网站百度快照回档或停滞不前的情况,那到底是由什么因素引起的呢?下面我总结了十种常见的因素,如果你的网站目前正常出现这种现象,那么可以看一下以下几种原因,且做出相应的修正。1、网...

谷歌 SEO 快速上手!3 个实操方法让你快速收录排名

一、寻找流量关键词1、谷歌官方流量关键词2、同行关键词...

如何写活动策划书?(怎样写活动方案和策划)

私信老师“策划”两字,免费发送100份最新4A营销策划方案。点击右上角+关注【广告狗道叔】,长期分享营销、策划、广告、运营、商业等专业知识!导读:...

取消回复欢迎 发表评论: