关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。
去年,我喜欢阅读一本具有启发性的新书,它探索了一种新的思考方式,不仅可以思考生活的某些方面,还可以思考一切。 本质主义:格雷格·麦考恩( Greg McKeown ) 的《纪律严明的追求更少》带来了这个新视角,但它是对的吗?我们可以将其应用于软件开发吗?简短的回答是:是的。此外,您可以更有效地做到这一点,在这篇文章中,我们将解释如何使用本质主义方法。
当我们谈论软件工程时,它可能有几种方法和定义。这篇文章将使用 Dave Farley 的《现代软件工程》中我最喜欢的一篇。
“软件工程是应用一种经验的、科学的方法来为软件中的实际问题寻找有效、经济的解决方案。”
效率不是软件开发过程的可选部分,当我们谈论效率时,我们还包括避免浪费一些资源,例如强大的计算机和人们的时间。
这就是本质主义在这个过程中发挥作用的地方,主要是因为它从三个核心原则开始:
如果你还是不明白我的意思,让我们退后一步,谈谈优秀软件开发的敌人。
去年,福布斯在成功软件项目的 16 个障碍(以及如何避免它们)中列举了创建有前途软件的 16 个障碍。我们将强调一些如下:
这听起来像是一个自相矛盾的问题吗?我们怎么能花很多时间去计划一些我们不了解的事情呢?我们将精力投入到无助于解决问题或提升正确目标的事情上。
这是第一个问题:如何将时间和精力花在正确的问题上,并将精力花在重要的事情上。这就是软件开发需要本质主义的地方。我们需要找到贡献的最高点:正确的事情、时间和理由的交集高效。
最高贡献点
清晰度是软件开发归档成功过程的一部分,选择的力量对此至关重要。选择是一个行动,决定了你将把精力放在哪里。优化这些选项可以帮助您接近目标。
本质主义与无焦点的能量
选择的动作是严格的,主要是yes要多考虑,包括要说的几个negative。这是我一生中最具挑战性的时刻之一。最初,我将“是”与像Yes Man电影这样的开放机会联系起来。
这是一场害怕错过 (FOMO) 和专注之间的战斗。它也可能会影响你。我建议您尝试一下,看看您是否像我一样:“不”会给您自由。同样,这并不容易。我仍在抗拒它,但发现它有必要——实际上,必不可少。
作为一名软件工程师,说不还包括避免市场上的最新技术,因为这个盟友可能会变成敌人并使事情变得比必要的更复杂。
当我们将软件开发工具与十年前进行比较时,我们有许多本应让我们的生活更轻松的选择,包括方法论、框架和工具,如 Kubernetes、微服务等。
但我为什么要用“假设”这个词呢?有了很多工具,它为我们提供了让我们的生活更加艰难的选择,而使用错误的工具会使事情变得更加复杂(参见Scott Carey 的“复杂性正在扼杀软件开发人员”)。
在软件开发中,没有灵丹妙药:因此,不一直使用微服务、Kubernetes、偶数驱动和六边形模型架构也是可以的。
当我们谈论微服务时,只能想到Sam Newman的两本书。但即使是他也写了“我应该使用微服务吗? ”,他不建议在新产品上使用微服务。更高
这里的主题不是责怪新趋势或新技术。这些都是惊人的,并在适当的时候提供帮助。第一个问题是这些离我们的目标还有多远。本质主义可以帮助我们以简单的方式追求它。
当我们谈论软件决策和设计时,我们会想到具有两个定律的软件架构:
一旦您找到了目标以及您想将您和您的团队的精力投入何处,简单性可以帮助减少不必要的软件开发风险。我不反对创新:我喜欢它,但使用错误的工具可能会影响您访问有缺陷的网站。
开始不使用那些新奇的技术并探索更直接和快速的方法,例如单体或不使用 Kubernetes,可能是一个很好的开始解决方案。
适应性是敏捷过程的基本部分,生产软件是其中的一部分。请记住,不开始使用微服务并不意味着不会很快使用它们;您可以在必要时探索它们本质。它也发生在六边形模型上。您需要所有这些层才能开始吗?让我们从三个开始,例如 MVC。
从简单开始,改进您的软件和架构:它是演化架构的一部分。软件要有适应性,不能看到未来。
综上所述,如果你的软件架构有一首歌,寻找bare necessities是一个不错的选择。我们探索了架构决策,但关于方法论,我们也有人际互动,包括会议。让我们也谈谈他们。
当我们谈论软件开发时,我们需要包括更有价值的资源,主要是因为我们一旦浪费就无法收回它:时间。
当我们谈论时间时,一方面,我们过度设计;另一方面,会议,会议和更多会议。我们必须记住,这是一群人停下来追随一个目标。
通过确保会议的先决条件在描述中并浏览会议记录以记录决定来节省人们的时间。请注意会议时间。有帕金森定律说工作将扩大以填补完成分配的时间。
当我们谈论软件开发时,确保您在正确的时间做正确的事情对于交付的关键至关重要。精要主义是实现这一目标的好搭档,主要是因为它减少了过度设计、没完没了的会议和浪费的可能性。什么是
即使被归类为非 IT 书籍,“本质主义:有纪律的追求更少”有助于提供指导,以满足简单性并更多地相信简单的解决方案一旦流畅的软件是一种误解风险较小的软件并且更快地成为遗留代码比平常。我希望你和我一样喜欢这本书。
联系ag九游会
第一时间了解我们的新产品发布和最新的资讯文章。您有什么问题或要求吗?
点击下面,我们很乐意提供帮助。 联系ag九游会