第二章 态度决定一切

选定了要走的路,就是选定了它通往的目的地.

----Harry Emerson Fosdick(美国基督教现代主义神学家)

广告:个人专属 VPN,独立 IP,流量大,速度快,连接稳定,多机房切换,每月最低仅 5 美元

传统的软件开发图书一般先介绍一个项目的角色配置,然后是你需要产生哪些工件(artifact)----文档、任务清单、甘特(Gantt)图等,接着就是规则制,往往是这么写的:汝当如此(注:或更通俗地写成:系统应当如何如何....)这般.....本书的风格不是这样的.欢迎进入敏捷方法的世界,我们的做法有些不同.

例如,有一种相当流行的软件方法学要求对一个项目分配35种不同的角色,包括架构师、设计人员、编码人员、文档管理者等.敏捷方法却背道而驰.只需要一个角色:软件开发者,也就是你.项目需要什么你就做什么,你的任务就是和紧密客户协作,一起开发软件.敏捷依赖人,而不是依赖于项目中的甘特图和里程表.

图表、集成开发环境或者设计工具,它们本身都无法产生软件,软件是从你的大脑中产生的.而且它不是孤立的大脑活动,还会有许多其他方面的因素:个人情绪、办公室的文化、自我主义、记忆力等.它们混为一体,态度和心情的瞬息变化都可能导致巨大的差别.

因此态度非常重要,包括你的和团队的.专业的态度应该着眼于项目和团队的积极结果,关注个人和团队的成长,围绕最后的成功开展工作.由于很容易变成追求不太重要的目标,所以在本章,我们会专注于那些真正的目标.集中精力,你是为做事而工作.(想知道怎么做吗?请见下一页.)软件项目时常伴有时间压力---压力会迫使你走捷径,只看眼前利益.但是,任何一个有经验的开发者都会告诉你,欲速则不达(我们在第15页将介绍如何避免这个问题).

我们每个人或多或少都有一些自我主要.一些人(暂且不提他们的名字)还美其名曰"健康"的自我主义.如果要我们去解决一个问题,我们会为完成任务而感到骄傲,但这种骄傲有时会导致主观和脱离实际.你也很可能见过设计方案的讨论变成人身攻击,而不是就事论事地讨论问题.对事不对人(第18页)会让工作更加有效.

反馈是敏捷的基础.一旦你意识到走错了方向,就要立即做出决策,改变方向.但是指出问题往往没有那么容易,特别当它涉及一些政治因素的时候.有时候,你需要勇气去排除万难,奋勇前进(第23页)只有在你对项目、工作、事业有一个专业的态度时,使用敏捷方法才会生效.如果态度不正确,那么所有的这些习惯都不管用.有了正确的态度,你才可以从这些方法中完全受益.下面我们就来介绍这些对你大有裨益的习惯和建议.