大数跨境
0
0

关于软件开发的小常识

关于软件开发的小常识 安徽雪脉科技有限公司
2020-12-11
0
导读:关于软件开发的小常识2011年,马克·安德列森(Marc Andreessen)写了一篇文章,预言“软件吞噬

关于软件开发的
小常识


2011年,马克·安德列森(Marc Andreessen)写了一篇文章,预言“软件吞噬世界”。观点主要有两个:第一,许多传统业务正在被软件公司所取代;第二,所有其他公司都发现,他们所提供的价值越来越多地来自软件系统。本文列出了管理者应该知道的几个小常识



1




book

软件开发是团队作战,没有人能做所有事情

软件开发是团队作战,开发人员既不是产品经理,也不是UX(用户体验)设计师,也不是质量工程师、分析师、安全专家、技术作家或运营工程师。组织需要所有角色。

没有哪个管理者会建议每个销售(sale)人员都做营销(marketing)及PR,否则就解雇销售团队(因为营销人员了解产品,也能做销售)。营销和销售是相关的,但又是不同的。因此,两者之间存在着分工。

同样,开发团队需要独立的人员来收集需求、质量保证和测试、代码编写等等。

一个开发人员可以“做所有事情”的神话,称为“全栈开发人员”或“10x工程师”,这一般只存在于小公司。是的,一个非常小的公司可能一个人同时做营销和销售,但你可能不会加入这样的小公司。

不要用自己的兴趣去挑战别人吃饭的专业。一个小孩“擅长Facebook”并不意味着他或她会成为下一个扎克伯格;一个小孩对工程学很感兴趣并不意味着他或她可以能够使用微积分;一个小孩能够自己做了一个网站并不意味着这个网站每小时可以处理数十亿的金融交易。





2




book

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


史蒂夫·乔布斯有句名言:”设计不只是外表和感觉。设计就是工作原理。“ UX设计师不会坐下来决定菜单的颜色,或者决定按钮是圆形还是方形,他们决定工作流和交互是什么。

用户会看到一个有三个选项的屏幕,还是一个屏幕只显示一个选项?这个设计决定需要心理学、对用户的同理心,以及测试、测试、再测试。

我们的工作是信任测试数据而不是主观臆测,创建一个环境,在产品发布之前计划进行多次修订,并期望在产品发布之后进行进一步的改进。





3




book

技术债很讨厌,但不可避免

技术债务是将来需要做的工作,因为我们现在选择了一个更简单的解决方案,而不是使用一个需要更长时间的更好解决方案。任何合理规模的软件项目都有技术债务。技术债务让所有的进步都变得更慢,越忽视它,它就越像滚雪球一样越滚越大。

有金融背景的管理者听到“债务”时,会认为这是一种未来会有回报的投资。技术债务恰恰相反,它是有毒和痛苦的,并且是一个定时炸弹。

开发人员的建议是花两个月的时间重构供应商架构,使其成为一个插件系统。然后,新的供应商可以在一周内而不是一个月内支持接入。

管理者们并不高兴。为什么下一个供应商需要两个多月的时间来支持,而之前的供应商是在一个月内支持的呢?花两个月的时间来偿还技术债务将使未来的支持更快,代码更稳定。





4




book

软件不会自己运行(软件需要运维)

虽然供应商和开发人员可能会试图告诉你不同的情况,但是软件并不会自己运行。任何基于软件的系统(特别是网站和web应用程序)都需要运维人员和运维流程。否则,软件就像一本合上的书,必须有人打开它,管理它,以及照顾它的需求。 

运维比软件开发本身更重要。代码只写一次,但运行可能会是数百万次。因此,粗略地衡量一下,运维的重要性是否要高出几百万倍呢?

我们的工作就是期望运维成为任何软件系统的一部分。它必须像其他任何项目一样被计划、预算、管理和有效地运行。

运维功能(通常称为非功能需求)对用户是不可见的,除非作为二级需求。数据备份是非功能需求中一个很好的例子。没有用户请求数据备份,但是,用户确实要求恢复已删除的数据。遗憾的是,没有备份就没有恢复。恢复是功能需求,备份是一种运维(非功能)需求。

让软件服务易于维护或高效运行的功能需求从来不会被用户提出来。然而,他们确实享受着一个低成本、高可靠的系统所带来的好处。客户会离开那些不靠谱的网站,再也不会回来。

持续改进的需求不仅包括新功能需求,还应该包括新的非功能性需求。因此,我们的工作不仅是为客户提出的功能需求分配资源,还要为运维需求分配资源。在两种相互竞争的需求之间取得平衡是困难的。

但是,一个成功的产品是业务需求和运维需求的权衡结果。




扫码关注我们
官网:www.ahxmgc.com






【声明】内容源于网络
0
0
安徽雪脉科技有限公司
区块链技术、文化用品、电子设备、通讯设备、计算机硬件及辅助设备的开发与销售;计算机软硬件技术、网络信息技术、数据库技术、加密算法技术、云计算技术、大数据技术、供应链与物联网技术、人工智能技术、机器人技术的开发、咨询、服务、转让及销售。
内容 116
粉丝 0
安徽雪脉科技有限公司 区块链技术、文化用品、电子设备、通讯设备、计算机硬件及辅助设备的开发与销售;计算机软硬件技术、网络信息技术、数据库技术、加密算法技术、云计算技术、大数据技术、供应链与物联网技术、人工智能技术、机器人技术的开发、咨询、服务、转让及销售。
总阅读4
粉丝0
内容116