0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

11个战略决策:可助加速特定软件项目

如意 来源:企业网D1Net 作者:Peter Wayner 2020-06-28 15:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

战略决策有助于加速软件项目利用商业机会,但是IT领导必须注意其中的陷阱和权衡取舍。

当然,IT领导和客户都希望每个软件项目都能更快地被交付。但是快速的开发也可能会导致错误的代码、低劣的测试、不完整的解决方案,或者更糟的,不安全的软件。虽然没有人想要一个失败的软件项目,但有时在某些环境下--包括市场条件、业务需求、机会之窗--可以证明一些有利于速度的权衡措施是合理的。

软件开发不仅仅是一种逻辑上的努力。它也是一门艺术,也是许多组织商业战略中不可或缺的一部分。如果能够高效、公平、简单和安全地完成,在那些重叠的某个地方就存在着获得更高效的开发流程的可能性。你只需要知道折衷方案,并做出有利于精简项目而不是开发完美软件梦想的决定。

当IT领导想要加速一个需要快速进行的特定软件项目时,这里有11个战略决策可供参考。

控制利益相关者的梦想

每个人都希望得到反馈,来自营销团队、运输部门和会计部门的利益相关者都是带着远大的梦想来到会议室的。诀窍在于首先找到最容易实现的梦想。在一次奇迹般的会议中,我的软件团队发现,只需在一个表单字段中添加预填充的默认值,就可以为数据解析器节省数百万小时的工作。成百上千的销售代理每天都会从无到有地填写这张表格。在HTML中多了几个字符,我们就像天才一样被对待。

让利益相关者脚踏实地将有助于控制项目的范围。如果你能让利益相关者关注那些更小、更有价值的特性和改进,那么复选框的填充速度就会快得多了。

阻止开发者异想天开

不仅仅是西装会让人忘乎所以。开发人员也需要脚踏实地。对于项目列表上的每一个项目,开发人员都将其视为最终尝试一些聪明的、新的、非常耗时的流行术语的一个机会。屏幕上有两列不对齐吗?现在是时候用纯函数重写整个堆栈来实现多梯度功率下降优化量子学习算法了。

虽然开发人员的热情对于实现一个加速的时间表是至关重要的,但是确保开发人员的热情能够被引导到一个精简的目标上也是至关重要的。

削减特性

削减需求似乎是个懒人的游戏。毕竟,如果你将“一切”都重新定义为一个更小的集合,自然就能够很容易更快完成所有事情了。

但有时,让团队集中精力也是必要和有用的。巧妙的方法是确保基础仍然足够牢固,以便将来能够重新处理被跳过的特性。例如,确保数据库模式预期了某些增强功能,而这些功能是有人希望在以后的迭代中能够添加的。如果这仅仅意味着现在需要稍微调整一下模式,那么当你返回到此过程中被推迟的特性时,也可以节省时间。

简化测试

部署代码的挑战之一是在运行之前进行测试。最近的趋势是把所有的东西都拆分成可以独立运作的小项目。如果每个项目都必须单独测试,那也就意味着需要进行更多的测试。一些包含大量微项目的新的微服务体系结构必须经过多次测试。

显然你无法摆脱对测试的需求,但其中的一个诀窍是可以测试同时在一起工作的多个项目。有时,将几个部分捆绑在一起可以消除独立测试它们的需要。

简化架构

如果你打算去掉一些特性,把一些工作留到以后做,有时你可以重新考虑架构的设计。有时则不是。

如果这些功能可能会在下个季度甚至明年出现,那么你最好把基础保留好。但如果它们不是必需的,那么清除掉架构中的大块内容将会是一种极大的解放。

回拨性能的保证

当时间充裕时,每个人都希望在毫秒内就得到答案,同时还能够确保数据被复制到三个地理上独立的数据中心上,以防飓风和地震的同时袭击。谁不想要完美呢?

但通常,高性能也意味着需要大量额外的缓存层、负载平衡层和复制层,而这些额外的层需要花费时间来进行构建、配置、调试和维护。减少开发时间的最简单方法之一是说服利益相关者,如果屏幕刷新时间长了一点,希望他们可以稍微放松,或者打消这个想法--他们中的一些人会因为故障而自动消失。并不是每个项目都像脑部手术那样需要那么多的精确度和可靠性。

利用现有的代码

花费更多时间的最简单的方法就是探索一种新的技术。是的,从长远来看,对下一代进行投资是很重要的,但现在不是有人敲桌子要求更快完成的时候。使用与你在过去几十个项目中使用的相同的语言和数据库会更快更简单。你将移动得更快,而且有时还可以重用代码块。不仅如此,你还将保持一致性,使开发人员更容易在项目之间移动。

接受技术债务

当开发人员想要完成某些事情时,他们喜欢谈论“技术债务”。通过现在承诺一个有限的或快速的解决方案,开发人员可以把修复或填补空白的工作留给未来。这是一个需要认真考虑的真实概念,但有时人们的确会想要在操纵流程时调用它。

一些技术债务是可以接受的。使用最新的数据库或最新的语言技术并不总是必要的。有时候,我们可以跳过三代或四代的神奇技术,直接进入最新的版本。跳跃式的前进可以避免很多头痛和熬夜。

这是一种艺术的游戏,它不是没有危险的。但很多时候,技术债务的幽灵远比跳过几代更新的现实更加糟糕。

开源

太多的项目中有太多的自定义代码了。如果你想完成某件事情,而很有可能其他人也有同样的烦恼。有时其他人或组织已经启动了一个开源项目,现在也正是你加入的机会。

开源不是万能的。天下也没有免费的午餐。你经常需要做出妥协,并与其他团队一起工作,以汇集一些适合个人的代码。当这个流程运行良好时,你只需为开源项目贡献一小部分时间,那么每个人就都会成功。

使用基本的工具

许多项目都可以使用现成的工具来完成。使用标准web表单(比如Drupal、Google Forms或是Survey Monkey)可以构建的内容是令人惊叹的,这些表单也可以将数据转储到执行分析的电子表格中。这不是耍滑头。它甚至可能不会被程序员防御联盟称为是“编码”工作。但是,如果它可以以一种可靠和可重用的方式交付答案,那么它就是完成大型开发项目最快的方式。

实事求是

我们都梦想建立一个病毒式的传播网站,所以我们总是计划处理最极端的负载。我看到过一些细心的架构师描述他们的三层系统,其中到处都有负载平衡器和复制的数据库,所有这些都可以支持一个每天可以照顾100人的项目。如果适当进行扩展是容易的,那就不会是问题,但是增加这些层会增加项目的复杂性,延长构建时间,并使维护变得更加复杂。引入新的程序员也会变得困难得多,而解决哪怕是最小的问题也需要长时间的团队会议。确实,一些较新的无服务器工具(如谷歌App Engine)简化了伸缩性,但在复杂性和成本方面也需要进行权衡。

优秀的工程师能够预见未来可能出现的奇怪问题。但是,良好的成本工程需要对可能性有实事求是的态度,也许,当这些异常值出现时,是可以决定接受糟糕的性能甚至是失败的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5298

    浏览量

    90886
  • 软件项目实施

    关注

    0

    文章

    4

    浏览量

    1156
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    兆芯与凝思软件签署战略合作协议

    11月26日,上海兆芯集成电路股份有限公司(简称“兆芯”)与北京凝思软件股份有限公司(简称“凝思软件”)战略合作协议签约仪式在北京圆满举行。在兆芯副总经理张健与凝思
    的头像 发表于 12-05 10:39 380次阅读

    开放原子开源基金会与11项目完成捐赠签约

    11月21日,在2025开放原子开发者大会开幕式上,开放原子开源基金会与11开源项目完成捐赠签约,涵盖人工智能、量子计算、机器人、操作系统、物联网等多个关键技术方向。此举既是基金会完
    的头像 发表于 11-25 17:26 592次阅读

    MathWorks与SISPARK签署战略合作协议

    2025 年 1111 日,SISPARK(苏州国际科技园)与全球领先的数学计算软件开发商 MathWorks 签署战略合作协议,共同启动“面向初创企业
    的头像 发表于 11-14 15:51 356次阅读

    分享一驱动开发工程师学习路线图

    驱动工程师的成长核心是“从硬件交互到系统设计”的能力跃迁,不同阶段需聚焦不同目标:新手重“落地执行”,进阶重“问题解决”,资深重“架构设计”,架构师重“战略决策”。今天分享一各阶段详细路径,附技能
    发表于 11-12 10:44

    华为与东风汽车深化合作加速DH项目落地

    10月25日,华为与东风汽车DH项目联合高层决策会在武汉举行。会议围绕DH项目全链条协作展开深入沟通,明确以技术深度融合与机制化联动加速项目
    的头像 发表于 10-28 10:40 545次阅读

    芯来科技与普华基础软件达成战略合作

    8月28日—29日,2025智能汽车基础软件生态大会暨第四届中国汽车芯片大会在重庆渝州宾馆盛大召开。会议同期,普华基础软件与芯来科技正式签署战略合作协议,标志着国产RISC-V处理器与开源安全
    的头像 发表于 09-03 16:35 467次阅读

    世冠科技与普华基础软件达成战略合作

    8月28日—29日,2025智能汽车基础软件生态大会暨第四届中国汽车芯片大会在重庆隆重举行。会议同期,普华基础软件与世冠科技举行战略签约仪式。普华基础软件总经理刘宏倩、世冠科技CEO张
    的头像 发表于 09-03 16:31 469次阅读

    芯车无限与普华基础软件达成战略合作

    8月28日—29日,2025智能汽车基础软件生态大会暨第四届中国汽车芯片大会在重庆渝州宾馆盛大召开。会议同期,普华基础软件与芯车无限正式签署战略合作协议。双方将围绕车用基础软件与RIS
    的头像 发表于 09-03 16:29 562次阅读

    后摩智能与麒麟软件达成战略合作

    8月6日,北京后摩智能科技有限公司(以下简称“后摩智能”)与麒麟软件战略合作签约仪式在北京举行,在后摩智能创始人、CEO吴强博士和麒麟软件总经理孔金珠的共同见证下,后摩智能PC业务销售副总裁倪晓林
    的头像 发表于 08-07 18:16 1216次阅读

    普华基础软件与TASKING达成战略合作

    近日,普华基础软件股份有限公司(以下简称“普华基础软件”)与塔斯金信息技术(上海)有限公司(以下简称“TASKING”)正式完成战略合作协议签署,双方将基于AUTOSAR架构标准,依托普华基础
    的头像 发表于 07-15 15:28 917次阅读
    普华基础<b class='flag-5'>软件</b>与TASKING达成<b class='flag-5'>战略</b>合作

    兆芯与麒麟软件达成战略合作

    近日,兆芯与麒麟软件在京举办战略合作签约仪式,以"芯魂共筑"的深度协同,开启从芯片架构到操作系统的全栈创新。在兆芯总经理兼总工程师王惟林、副总经理高新宇、麒麟软件总经理孔金珠
    的头像 发表于 06-19 17:19 892次阅读

    新能源车软件单元测试深度解析:自动驾驶系统视角

    ‌第一部分:新能源车软件单元测试的战略重要性 ‌汽车电子架构的范式转变‌ 随着新能源车的普及,汽车电子架构从传统的分布式ECU(电子控制单元)向集中式域控制器(Domain Controller
    发表于 05-12 15:59

    英伟达GTC2025亮点:NVIDIA开源cuOpt开启决策优化新时代

    Gurobi Optimization、HiGHS、SimpleRose、COPT 和其他行业领导者利用 NVIDIA 加速计算和 cuOpt 软件完成复杂的决策制定和供应链优化。 全球企业每分
    的头像 发表于 03-21 19:34 1529次阅读

    本田携手亚马逊云科技,加速软件定义汽车转型

    近日,亚马逊云科技宣布了一项重要合作,本田汽车公司选择其作为战略合作伙伴,共同推动本田实现从硬件驱动向软件定义汽车(SDV)的转型。这一战略决策标志着本田在智能汽车领域的又一重大突破。 作为日本知名
    的头像 发表于 01-16 13:49 837次阅读

    算法加速的概念、意义、流程和应用

    本文介绍算法加速的概念、意义、流程和应用 一、什么是算法加速 面向“最耗时”的部分做专用化处理: 在软件运行时,总有一些特定算法会消耗大量 CPU 资源,比如加密解密、图像处理或神经网
    的头像 发表于 01-15 09:34 1114次阅读