关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。
(相关资料图)
本文将探讨本质主义以及它如何帮助您高效地交付更好的软件。
去年,我喜欢阅读一本具有启发性的新书,它探索了一种新的思考方式,不仅可以思考生活的某些方面,还可以思考一切。本质主义:格雷格麦考恩( Greg McKeown )的《纪律严明的追求更少》带来了这个新视角,但它是对的吗?我们可以将其应用于软件开发吗?简短的回答是:是的。此外,您可以更有效地做到这一点,在这篇文章中,我们将解释如何使用本质主义方法。
当我们谈论软件工程时,它可能有几种方法和定义。这篇文章将使用 Dave Farley 的《现代软件工程》中我最喜欢的一篇。
“软件工程是应用一种经验的、科学的方法来为软件中的实际问题寻找有效、经济的解决方案。”
效率不是软件开发过程的可选部分,当我们谈论效率时,我们还包括避免浪费一些资源,例如强大的计算机和人们的时间。
这就是本质主义在这个过程中发挥作用的地方,主要是因为它从三个核心原则开始:
个人选择:我们可以选择如何花费我们的精力和时间。噪音的盛行:几乎所有的东西都是噪音,很少有东西是珍贵的。权衡取舍的现实:我们不能拥有一切或做到一切。
如果你还是不明白我的意思,让我们退后一步,谈谈优秀软件开发的敌人。
软件过程的障碍
去年,福布斯在成功软件项目的16个障碍(以及如何避免它们)中列举了创建有前途软件的16个障碍。我们将强调一些如下:
高度专注的规划和设计不明确或未定义的客户期望忽略非功能性需求没有尽早调整“必备品”
这听起来像是一个自相矛盾的问题吗?我们怎么能花很多时间去计划一些我们不了解的事情呢?我们将精力投入到无助于解决问题或提升正确目标的事情上。
这是第一个问题:如何将时间和精力花在正确的问题上,并将精力花在重要的事情上。这就是软件开发需要本质主义的地方。我们需要找到贡献的最高点:正确的事情、时间和理由的交集。
最高贡献点
清晰度是软件开发归档成功过程的一部分,选择的力量对此至关重要。选择是一个行动,决定了你将把精力放在哪里。优化这些选项可以帮助您接近目标。
本质主义与无焦点的能量
选择的动作是严格的,主要是yes要多考虑,包括要说的几个negative。这是我一生中最具挑战性的时刻之一。最初,我将“是”与像Yes Man电影这样的开放机会联系起来。
这是一场害怕错过(FOMO)和专注之间的战斗。它也可能会影响你。我建议您尝试一下,看看您是否像我一样:“不”会给您自由。同样,这并不容易。我仍在抗拒它,但发现它有必要——实际上,必不可少。
作为一名软件工程师,说不还包括避免市场上的最新技术,因为这个盟友可能会变成敌人并使事情变得比必要的更复杂。
本质主义对许多事情说“不”,包括过度设计
当我们将软件开发工具与十年前进行比较时,我们有许多本应让我们的生活更轻松的选择,包括方法论、框架和工具,如 Kubernetes、微服务等。
但我为什么要用“假设”这个词呢?有了很多工具,它为我们提供了让我们的生活更加艰难的选择,而使用错误的工具会使事情变得更加复杂(参见Scott Carey 的“复杂性正在扼杀软件开发人员”)。
在软件开发中,没有灵丹妙药:因此,不一直使用微服务、Kubernetes、偶数驱动和六边形模型架构也是可以的。
当我们谈论微服务时,只能想到Sam Newman的两本书。但即使是他也写了“我应该使用微服务吗?”,他不建议在新产品上使用微服务。
这里的主题不是责怪新趋势或新技术。这些都是惊人的,并在适当的时候提供帮助。第一个问题是这些离我们的目标还有多远。本质主义可以帮助我们以简单的方式追求它。
最基本的必需品
当我们谈论软件决策和设计时,我们会想到具有两个定律的软件架构:
为什么比怎么做更重要。一切都有取舍。
一旦您找到了目标以及您想将您和您的团队的精力投入何处,简单性可以帮助减少不必要的软件开发风险。我不反对创新:我喜欢它,但使用错误的工具可能会影响您访问有缺陷的网站。
开始不使用那些新奇的技术并探索更直接和快速的方法,例如单体或不使用 Kubernetes,可能是一个很好的开始解决方案。
适应性是敏捷过程的基本部分,生产软件是其中的一部分。请记住,不开始使用微服务并不意味着不会很快使用它们;您可以在必要时探索它们。它也发生在六边形模型上。您需要所有这些层才能开始吗?让我们从三个开始,例如 MVC。
从简单开始,改进您的软件和架构:它是演化架构的一部分。软件要有适应性,不能看到未来。
综上所述,如果你的软件架构有一首歌,寻找bare necessities是一个不错的选择。我们探索了架构决策,但关于方法论,我们也有人际互动,包括会议。让我们也谈谈他们。
对没完没了的会议说“Hasta la Vista, Baby”
当我们谈论软件开发时,我们需要包括更有价值的资源,主要是因为我们一旦浪费就无法收回它:时间。
当我们谈论时间时,一方面,我们过度设计;另一方面,会议,会议和更多会议。我们必须记住,这是一群人停下来追随一个目标。
通过确保会议的先决条件在描述中并浏览会议记录以记录决定来节省人们的时间。请注意会议时间。有帕金森定律说工作将扩大以填补完成分配的时间。
概括
当我们谈论软件开发时,确保您在正确的时间做正确的事情对于交付的关键至关重要。精要主义是实现这一目标的好搭档,主要是因为它减少了过度设计、没完没了的会议和浪费的可能性。
即使被归类为非 IT 书籍,“本质主义:有纪律的追求更少”有助于提供指导,以满足简单性并更多地相信简单的解决方案一旦流畅的软件是一种误解风险较小的软件并且更快地成为遗留代码比平常。我希望你和我一样喜欢这本书。
近些年,随着自主品牌纷纷聚焦发力SUV,更多高品质、智能化的SUV逐步推向市场,也使得整个SUV市场逐渐内卷化,许多实力相近的产品,已经展
每当我们谈到性能车、JDM等话题时,似乎总是绕不过去一个名字:思域。15万左右的售价,7秒多就能够破百的动力表现,思域被冠以神车头衔,成
2022年8月15日,哈弗新能源技术媒体沟通会在北京举行。哈弗品牌CEO李晓锐、CTO吕文斌,与多位资深车圈媒体大咖分享了哈弗品牌2022年上半年
本不想躺平周末,浪费这难得的大好时光,但如何做,才能让自己的周末生活更有趣、过得更有意义呢?不如把自己交给哈弗H6S吧!出色性能+极致驾
油价起伏不定,环保意识逐步提高,今天的汽车消费者在选车时,对产品的经济、节能方面往往会有更多的苛求。正是因此,我国的汽车产业也在逐
导语:哈弗品牌狗品类家族迎来新成员哈弗酷狗的上市,凭借独特的敢性力量美学设计风格、强大的轻越野四驱能力与专业调校的音响系统收获了年
每个男人心中都有一个越野梦,但大多碍于账户余额迟迟没有实现。上个月,无意间看到了一场新车上市直播,哈弗大狗追猎版在库布齐沙漠的精彩
如果说工作是为了生存,那么周末存在的意义,便是让我们不负生活。熬过忙碌的五天工作日,周末怎能轻易躺平?顺从自己那颗躁动的心,来一场
年轻人想要一款什么样的SUV?对于这个问题,每个人心中其实都有着不同看法,或更在意外观,或更看重性能,或更注重配置等等。那么,有没有一
太难了!现在的消费者简直太难讨好了!想要的永远是最好的,对品质的要求永远是第一位的,对性价比的要求永远是极致的,对自己的选择是一定不
X 关闭
X 关闭