CTO眼中功能与非功能性需求的平衡

在需求分析时,功能性需求是人们普遍关注的,但也不能忽视非功能性需求的分析,因为它所涉及的方面比较广泛。正因为如此也就往往被人们所忽视。

非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括安全性、可靠性、互操作性、健壮性等。

互联网公司的产品都是不断迭代的, 久而久之,系统会变得越来越复杂。在不断支撑业务需求的过程中,系统会越来越慢,最终影响业务的稳定性,所以我们要持续进行技术架构层面的优化,满足可扩展性、高性能,安全性等一系列非功能性需求。不过也不能太过极端,如果一味地追求架构,不产出业务系统,公司可能会消亡,所以一定要平衡。评价一个公司技术水平的高低,主要是看其产品的用户体验,在高峰的考验下是否可以撑得住,这其实对非功能需求这块的投入会很高,这也就说明了为什么互联网公司需要那么多人了,可以参考我的另外一篇文章:CTO眼中的系统高可用

大部分互联网公司的研发团队都包含了业务研发团队和架构研发团队,业务团队负责不断的产品迭代,架构团队负责基础服务,中间件,安全等非业务性功能的开发和维护,根据业务发展情况来不断的演进架构。

我以前经历的公司主要是电商公司,对系统的非功能需求要求很高,尤其是性能这块,直接影响用户体验。我对团队的要求就是,产出和产能要平衡。不管你业务做的多么好,只要出现系统性能上的问题,对不起,你这个季度的绩效就不会高了。所以我的团队在功能需求和非功能需求上会平衡,这样才能达到真正的高效能。以下是我带领架构部门的一些实践,最后都落实到了部门的wiki上。

推荐阅读:

技术(四)

技术(五)

技术(六)

技术(七)

技术(八)

技术(十四)

技术(十五)

技术(十六)

技术(十七)

技术(十八)

想要交流的可以关注我公号,加我微信进读者群。

发布了41 篇原创文章 · 获赞 6 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/aisoo/article/details/104490741