理想与现实
题目的由来
这个题目是怎么来的呢?我在3月24日25日参加Bill的CSPO课程,一开始有一个大家讨论的问题是,“你认为产品成功的条件有哪些?(或项目)”
大家讨论的结果并不重要,重要的是在这个过程中大家开始讨论产品与项目的联系和区别。
以前我的理解是产品是长期存在的,而项目是(一个或多个)产品的一部分,即阶段性成果。
课程当中还有一段乔布斯早年的访谈视频片段(遗失的访谈)。其中讲的是乔布斯解释想法与产品实现之间的鸿沟,以及团队是如何一起协作的。
这段视频中给我一个启发,那就是“产品是理想的而项目是现实的”。即我们今天要讨论的标题“理想与现实”。
现状
德国人有一句名言是
生活是具体的。
这反应出在我们的生活中,多数事情是具体存在,即现实的。
而什么是理想呢? 记得小学的时候老师总是会问,“你长大后的理想是什么?” 还记得很清楚,我的理想是当一名老师。虽然现在已经距离理想很遥远,但理想就是一个目标在前方指引着我。
因此
- 理想是遥远而触不可及的、长期目标;
- 现实是具体存在的、短期利益;
而我们的生活就是在理想和现实之间不断的进行取舍。最终就如图1所示,停留在理想和现实之间的某个地方。
图1 生活工作的现状
理想
既然我们认为理想是遥远而触不可及的、长期目标,那么如果我们一直盯着理想而完全忽视现实的话。如图2所示:
图2 只看理想而忽视现实
会有什么问题呢? 常见的完美主义者,就属于这个状态。完美主义者并不是不好,而是陷入其中的话,会忽略现实,而错过了市场机会。
现实
现实是具体存在的、短期利益。如图3所示:
图3 注重现实而忽视理想
常见的现实主义者,属于这个状态。现实主义者的问题往往是忽视了我们应该打造完美的产品。
理想与现实
回到主题,我们来看一下在软件开发当中,理想与现实是如何结合的。
传统的瀑布式软件开发
在传统瀑布式软件开发中,认为软件开发就像在流水线生产一样(属于简单工作)。把软件开发当做理想来实现,所以到最后结果往往并不能让客户满意。(理想是丰满的,而现实是骨感的)
Scrum软件开发
在Scrum敏捷软件开发框架中,非常好的平衡了理想与现实。产品(以及产品待办列表)代表了软件开发中的理想,这是团队的美好目标。而每个Sprint结束后潜在可交付的产品增量代表了现实,这是团队的现实情况。
就如图1所示,Scrum是完美地结合了理想与现实。既有理想的产品目标,又有现实的产出。
Scrum转型
Scrum框架本身也是完美的框架。在组织转型的过程中,作为敏捷教练要坚持Scrum框架(以及敏捷的价值观),不能妥协。作为现实的工作,在某些地方或多或少会有一些妥协,但是请谨记,此时的妥协只是临时方案。
最后,送给大家一句话。
Done is better than perfect.
让我们动手尝试一下吧。