您现在的位置:   首页 >> 新闻中心 >> 行业动态

关于软件开发的九个常识

发布人:管理员 发布时间:2022-01-27 51 次浏览

马克·安德森在2011年写了一篇文章,他判断软件将吞噬世界。本文主要阐述了两种观点:一是软件公司正在取代许多传统业务;第二,许多公司发现,他们提供的价值越来越来越来越来越来越来越来越来越来越来越来越来越来越来越来越来越来越来越来越多地来自软件系统。

1.软件不是魔术

在我们看来,软件就像魔法,但它既不是魔法也不是魔法。软件的每个元素都是人工设计的,有一定的数学基础,不是凭空改变的。它需要设计、构建和维护。就像房子一样,有许多子系统,如基础、结构、房间和家具一起工作。

2.软件基本完成

软件是一个迭代过程,根据用户的需求进行变化,并在其生命周期中不断升级和修改。我们的工作是创造一个环境,让每个人都意识到这一点。同样,我们也从不期望市场营销和客户访问能够完成,因为这也是一个更新和迭代的过程。在每个迭代过程中,我们不断地为业务交付价值,不断地学习和成长。即使我们成功地生产了一些产品,我们也永远不会停止这样做。

3.软件开发需要团队合作

软件开发需要团队战斗。没有人能做任何事。开发人员既不是质量工程师,也不是系统工程师、软件测试工程师或项目总监。组织需要所有的角色。没有老板会建议员工做销售和营销,否则他们不需要销售团队,因为营销人员也了解公司的产品,也可以做销售工作。然而,虽然销售和营销是相关的,但它们是不同的,因此两者之间需要明确的分工。

4.设计不是外观,而是工作原理

软件开发设计不仅是外观和感觉,还有工作原理,UI设计师不会决定菜单的颜色或按钮的形状,他们决定什么是工作流和交互。用户会在屏幕上看到三个选项或一个选项,这是由设计师根据心理学和对用户的同理心决定的,并不断地进行测试和重新测试。

5.安全是每个人的责任

无论你知道还是愿意,我们实际上都从事安全行业。所有软件都有安全要求和潜在的安全漏洞,甚至与软件开发相关的系统也有安全要求和漏洞。虽然有防火墙和入侵安全检测等基础设施组件,但远远不够,但也应使用内置的安全控制来设计、实现和维护软件平台。如果你认为我们不是攻击的目标,那就错了,所有的计算机系统都是攻击的目标,因为攻击不仅是为了系统中的信息,也是为了计算机。

6.伟大的成功来自成千上万的小进步

伟大的成功来自于长期以来成千上万的小进步(变化)。如果变化的效果不是积极的,那么变化就会变成一个回滚。百度不是一天建成的,这是数百万人改进的结果。搜索质量小组每周开会,工程师提出修改建议,委员会进行辩论和投票,几周后评估测量结果,并决定保留或继续回滚。在现实世界中,没有一夜成名,成功的背后是非常困难的努力,一次又一次的进步。

7.技术债务是不可避免的

技术债务是指未来需要做的工作,因为现在我们将选择一个更简单的解决方案,而不是一个需要更长时间才能完成的更好的解决方案。只要所有合理规模的软件项目都有技术债务,技术债务就会减缓我们的进步,但我们越忽视它,它就会像滚雪球一样滚动。当一些金融经理听到债务时,他们会认为债务是一种有回报的投资。但技术债务恰恰相反,它是痛苦的,就像一颗定时炸弹。

8.软件不会自行操作

软件不会自己运行。任何基于软件的系统,特别是网站,都需要操作和维护人员和操作和维护过程。否则,软件就像一本没有打开的书。有人必须打开它来阅读和管理它。操作和维护比软件开发本身更重要。代码只写一次,但它将运行数千万次。我们的工作是希望操作和维护成为任何软件系统的一部分。它应该像其他项目一样计划、预算、管理和有效运行。

9.复杂的系统良好运行需要DevOps

最好使用复杂的系统DevOps来改进,DevOps它是一组流程、方法和系统的总称,用于促进(软件、程序等)的开发、技术运营和质量保证部门之间的沟通、合作和整合。我们通常理解为通过快速迭代加速交付价值,这需要所有相关人员的参与,即跨职能团队合作。