上QQ阅读APP看书,第一时间看更新
个人和互动优先于过程和工具
人是成功的关键。团队缺乏优秀成员,再好的过程也无法拯救项目。但是,再好的成员在不好的过程面前也会变得低效。优秀的人如果不抱团工作,最终也可能导致重大的失败。
优秀的团队成员未必是顶尖的程序员。他/她可能是普通的程序员,但能与其他人良好协作。和编程能力相比,与其他人良好协作(沟通和互动)的能力更重要。一个由普通程序员组成的团队,只要能沟通好,其成功概率高于一个无法正常交流的明星团队。
合适的工具也是成功的关键。开发团队为了正常运转,编译器、交互式开发环境(Interactive Development Environment,IDE)、源码控制文件等等均很重要。但是,工具的作用可能被高估。非要弄一套尾大不掉的工具,就和没工具一样。
我的建议是从简。除非试过并确认无法使用,否则不要轻易否定一个工具不适合自己。不是直接下手买行业顶尖的、超贵的源码控制系统,而是先找一个免费的用着,直到确认它不再合适。决定采购最好的计算机辅助软件工程(Computer-Aided Software Engineering,CASE)工具之前,先用着白板和图纸,除非实在有必要升级。在部署高端数据库系统之前,先试用数据文件无索引,无结构化关系的flat文件。不要以为更大、更好的工具能自动助你更上一层楼。相反,它们更多的时候是在扯你的后腿,而不是提供帮助。
记住,团队的组建比环境的构建更重要。许多团队和管理者都是先建好环境,指望团队能自动融入。但这是错误的。相反,应先建好团队,再让团队按需配置环境。