我们的工作由一个接一个的项目构成,此消彼长,连绵不绝。项目作为我们工作的基本组成单元。如果我们不了解项目的开发流程;不了解项目包含哪些角色,各角色的工作范围,以及如何协作;不了解项目是如何被管理的。职业发展将很快遇到瓶颈。
每个项目都有各自的流程,不同的规范,以及要求使用的工具,还要编写各类文档等等。同学们是否觉得很麻烦,好好编码不就得了,为什么还要整这么多编码之外的工作呢。其实,项目中的很多流程工具等都是为了保证软件产品的质量才引入的。因此,掌握质量相关知识,我们就能轻松理解为什么需要这些流程工具了。更进一步,当出现质量问题时,自己还可以通过优化流程,以及引入工具,找到解决方案。因此不管今后是否走管理路线,掌握这些软技能,对职业发展都是非常有利的。
既然我们的宿命无法逃脱一个接一个的项目,那么接下来大虾就从项目角度分析,看下质量在项目中的地位,以及为何质量会如此的重要。
项目管理的四要素分别为:质量,范围,时间,成本。四个要素相互制约,相互影响。由于质量直接影响客户满意度,是不可妥协的,所以放在最中间。形成如下图所示著名的“铁三角”。
范围:项目需要开发哪些功能,不需要哪些功能。
时间:什么时间完成。
成本:需要花多少钱。包含:硬件,人力,第三方服务费用等。
下面随大虾一起看下三大因素是如何相互影响的。如果范围增大(增加一些功能),则可能导致成本增加(多招人或者加班),或者时间增大(晚点交作业)。如果时间减少(提前交作业),则可能导致范围减小(要求少做点功能),或者成本增加(多招人或者加班)。如果成本缩减(给不了那么多钱),则可能导致范围减小(要求少做点功能)。由此可见,只要其中一个要素的改变,必然会引起其他要素的改变。项目经理需要在保证产品的质量的前提下,根据实际情况平衡三个要素。
软件质量为什么能占据C位呢?那是因为客户满意度是项目的生存之本,而质量又是影响客户满意度最关键的因素之一。其他的三个要素,如果有时间,大虾会专门出一个项目管理的专栏进行分析。本专栏将以质量作为主线介绍相关的软技能。包括:质量保证流程,工具方法,质量意识等相关知识。此外,还包含各阶段可能碰到的质量问题及大虾的思考与实践。希望同学们在学习过程中,能使用两个视角进行思考。如果我是一个实施者(如:开发人员),我应该怎么做来提高自己的质量。如果我是一个管理者,为了让成员避免出现质量问题,我又应该怎么制定规则。前者可以让你成为一个靠谱的人,合格的“士兵”。而后者可以让你将来成为一名管理者,一名”将帅“。
拒绝碎片化知识,订阅本专栏(免费)并关注大虾,系统化学习程序员需要掌握的质量知识,一起感受不同于技术的别样魅力,拓宽视野,为职业发展打好基础。