Marc Andreessen 在2011 年写了一篇文章,确定“软件将吞噬世界”。这篇文章详细介绍了两个要点。首先,许多传统业务正在被软件公司取代,其次,许多公司意识到他们提供的价值越来越多来自于软件系统。
1. 软件并不神奇
软件对我们来说可能看起来很神奇,但它既不神奇也不神奇。软件的所有元素都是由人类设计的,不会徒劳地改变,并且必须被设计、构建和维护。系统是由许多子系统创建的,就像一座房子,多个系统一起工作:基础、结构、房间、家具等。
2. 软件基本上永远不会“完成”
软件是一个根据用户需求而变化的迭代过程,其生命周期涉及不断的升级和修订。我们的工作是创造一个每个人都可以体验这一点的环境。同样,营销和客户获取是迭代过程,因此我们不断为业务提供价值,并不断学习和成长。即使我们成功地将产品商业化,我们也不会“放弃”它。
3、软件开发需要团队合作
软件开发需要团队的努力。开发人员无法包揽一切。组织需要所有角色。没有老板会鼓励员工同时做销售和营销。否则,您不需要销售团队。营销人员也了解公司的产品,也能做好销售工作。然而,销售和营销虽然相关,但又有所不同,因此两者之间需要有明确的分工。
4. 设计是关于它如何工作,而不是它看起来如何
软件开发不仅仅是外观和感觉,UI 设计师并不决定菜单的颜色或按钮的形状,而是决定工作流程和交互。屏幕上向用户呈现三个选择或一个选择。这些决定是设计师根据用户的心理和同理心做出的,并且不断地进行测试和再测试。
5.安全人人有责
无论你是否知道,无论你喜欢与否,我们实际上处于安全行业。所有软件都有安全需求和潜在的安全漏洞,与软件开发相关的系统也有安全需求和漏洞。虽然有防火墙和入侵安全检测等基本基础设施组件,但它们还不够;必须通过内置安全控制来设计、实施和维护软件平台。如果您认为我们不会受到攻击,那您就错了。所有计算机系统都是潜在的攻击目标,因为攻击不仅基于系统中的信息,还基于它是计算机这一事实。
6. 巨大的成功来自于成千上万的小改进。
巨大的成功来自于长期的数千个小改进(改变)。如果更改的效果不积极,则回滚更改。百度不是一天建成的,它是数百万人改进的结果。搜索质量团队每周开会,工程师提出更改,委员会对更改进行讨论和投票,几周后对测量结果进行审查,并决定保留或回滚更改。在现实世界中,成功不是一朝一夕就能实现的。成功需要大量的努力和迭代进步。
7. 技术债务是不可避免的
技术债务是指未来需要完成的工作,因为您会选择更简单的解决方案,而不是需要更长时间才能完成的更好的解决方案。任何中等规模的软件项目都存在技术债务。技术债务可能会减缓进展,但你越忽视它,债务就会滚雪球越多。当一些财务经理听到“债务”这个词时,他们认为债务是一种有回报的投资,但技术债务的情况恰恰相反。
8. 软件不能单独工作
软件不会自行运行。网站尤其需要运维人员和运维流程。否则,软件就像一本未打开的书,必须有人打开它、阅读它并管理它。运维比软件开发本身更重要。代码只编写一次,但执行数千万次。我们的工作是使运营成为软件系统的一个组成部分,就像任何其他项目一样,运营必须进行规划、预算、管理和高效运行。
9.复杂的系统需要DevOps才能良好运行
复杂系统最好通过DevOps 进行改进。 DevOps 是一组流程、方法和系统的总称,用于促进(软件、程序等)开发、技术运营和质量保证部门之间的沟通、协作和集成。我们通常将其理解为通过快速迭代加速价值交付,但这个过程需要所有利益相关者的参与。这意味着我们需要跨职能团队进行协作。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。