高效程序员的45个习惯の正确做事
不管路走了多远,错了就要重新返回
在开始学习第一个习惯之前,我们来了解一下敏捷开发的一些基本概念:
敏捷开发宣言:
1、个人和交互胜过过程和工具
2、可工作的软件胜过面面俱到的文档
3、客户协作胜过合同谈判
4、响应变化胜过遵循计划
敏捷开发要点:
1、以人为本、不依赖于制度、流程、文档、工具等非人力因素
2、敏捷开发参与人员可以不用每人都有非常专业的经验,但一定要有专业的态度
3、与瀑布式开发方式不同,敏捷开发可以更快速的响应变化,它强调团队合作,人们更加专注于切实可行的目标
4、敏捷开发是在一个高度协作的团队中,不断使用反馈来进行自我调整和完善
重构
在功能不变的情况下,重新设计部分代码,改善代码质量。
迭代
确认一小块时间的计划,然后按时完成它们,给客户演示每个迭代的工作成果,并及时得到他们的反馈。
在了解敏捷开发基本概念后,我们来学习第一个习惯:正确做事。
选定了要走的路,就是选定了它通往的目的地
我们发现问题,往往第一反应是如下几种:
1、他妈的谁做的功能,这么垃圾
2、这肯定是刚毕业出来的人做的东西
3、这功能怎么这么脆弱,代码怎么这么写
4、这技术早过时了怎么还在用
5、你怎么会犯这种白痴错误,简直日了狗
如果你说的话只是让事态更复杂,或者只是一味的抱怨,或者伤害了他人的感情,那么你无意中在给问题火上浇油。相反,你应该另辟蹊径,问问“为了解决或缓解这个问题,我能够做些什么?”在敏捷开发团队中,大家的重点是做事。你应该把重点放到解决问题上,而不是在指责犯错者上面纠缠。
如果你向敏捷团队中的同事抱怨,他们会说:“好,我能帮你做些什么?”。
这里有一个我们经常会碰到但是因为不同讲述方式却可能引起完全不同结局的场景:
业务上你有不懂的地方,这时候你需要在技术群里咨询,你也许会这么问:“请问这块业务是谁做的呀?”
A同事可能会想,这块业务是我做的,这哥们在群里这么问,不是要追究我的责任吧?算了,我不回他就是了。
我想很大一部分人可能就这么想的。当然,我觉得这与同事A个人工作素质也有关系,但是如果你能换一种方式在群里提问,比方说这么问:“各位好,我在某某业务上有些不懂,现在需要弄清楚,请问谁能支援一下?”。我想懂业务的同事肯定会热心的帮助你。
也许这就是沟通的艺术!
切身感受
勇于承认自己不知道答案,这会让人感觉放心。一个重大的错误应该被当做是一次学习而不是指责他人的机会。团队成员在一起工作,应互相帮助,而不是互相指责。