瀑布模型为项目带来节奏感.
但对于一些初入门墙的项目管理者来说,他们的管理方法可能过于朴实。他们倾向于在短时间内快速开发大量功能,常常通过加班来实现这一目标。面对过多的bug,他们依赖测试团队来发现并修复,而当程序员因中断当前工作而面临压力时,他们认为这是程序员能力不足,需要在业余时间提升。
然而,这些管理者忽略了项目节奏的重要性。加班、开发中临时更改需求、过度的工作强度(如996工作制)都会打乱项目节奏。这些做法最终都会反映在软件质量的下降上。根本原因在于管理者的贪婪和焦虑,以及人心的不稳定。如果软件没有崩溃,那么崩溃的可能是项目团队成员。
对于独立开发者而言,在产品设计阶段应少考虑编码细节,在编码阶段则少考虑产品设计细节。如果在编码时发现产品设计不周全,应通过需求变更流程来处理,尽可能将变更放到下一阶段,而不是影响当前迭代的开发节奏。
在团队协作中,维持节奏比个人开发更为困难,因为项目管理者往往过于贪婪,缺乏有效的制约。除非客户提出严重问题,否则他们很少意识到问题所在。正确的做法并不容易找到,因此很多团队仍然沿用瀑布前的方法–也就是无方法。这也是软件工程的难点之一。
尽管瀑布模型常受批评,但它首次确立了项目管理的节奏基础。它将产品研发分为几个明确阶段,每个阶段都应有明确的提交,且提交后不应轻易修改。任何修改都应通过变更流程,而不是立即融入当前开发节奏中,以避免造成混乱。
这种混乱的开发节奏会导致开发人员心态失衡和压力倍增,是不稳定的源头。尽管许多人批评瀑布模型,但他们并未真正理解其核心——控制项目节奏,防止节奏混乱,让每个团队成员都能进入心流状态,提高效率和产品质量。
产品质量虽然不直接可见,但可以通过团队成员的压力水平来间接衡量。如果团队感受到压力,软件质量就会受到影响。项目管理者往往只关注功能是否按时完成,却忽略了团队压力水平这一软件质量的重要信号。压力水平最高的人可能会拖慢整个团队的进度,因此每个人的压力都值得关注,并应通过调整项目节奏来缓解。
一旦工作节奏被打乱,开发人员的心流就会中断,这会导致人心散漫、团队不稳定,软件质量下降,bug增多。这些bug不仅仅是软件的问题,也反映了人性的问题。每次复盘不仅是对软件的反思,也是对人性思想的审视。