最近对敏捷比较感兴趣,正好翻看了《高效程序员的45个习惯-敏捷开发修炼之道》,颇有些感触,倒不是对敏捷的实施方法,而是文中所提的一些习惯之处,觉得习惯的养成可能比具体的敏捷实践要重要得多。所以这里借用下文中标题,谈谈对高效程序员习惯的理解。
一、做事优先
在项目团队开发过程中,出现问题时最高优先级应该是解决问题,而不是找到责任人并进行指责。当然在问题解决之后,可以找到责任人一起分析问题产生的原因,尽量在后期避免再次发生。在团队还是能看见一些成员喜欢“推卸责任”或者“事不关已,高高挂起”,这往往不可取。
二、欲速则不达
必须得承认人是有惰性的,如果个人对自身的要求不高或者项目的进度比较紧的情况下,就容易为了完成任务而“赶进度”,这样造成的后果就是质量太差而花了更多的时间去修复问题。又或者是解决bug的时候只是解决“浅层次”的问题,比如可能存在类似问题的地方不做检查解决、可能只是解决了单个场景的问题等等,结果没有从根本上将问题解决。所以这里要提倡重速度更要重质量,“为了看起来完成任务”的思想要切换成“为了有效地完成任务”,“解决单个问题”要切换成“解决一类问题或根本问题”。
三、对事不对人
在与人沟通具体事情的过程中尽量要保证客观公正,避免夹带过多感情色彩。因为这样才能更好地让大家关注在事情本身,而不至于因为个人情感表达造成对当事人的伤害。这里一方面需要注意对不同的声音持有一个开放的态度,另一方面也需要在沟通过程注意方式方法,比如对事情有不同看法时最好以提问的方式提醒当事人,这样在情感上更加容易接受。
四、有问题要沟通
程序员喜欢钻研问题,但容易陷入死胡同。比如问题比较棘手的时候,往往喜欢闷头研究而不愿求助,最后可能有些问题就会一直比较纠结而得不到很好的解决。而实际的经验一次又一次的告诉我们往往求助之后可能立即豁然开朗或者得到新的解决思路。所以在实际遇到问题时,当然首先需要自己想办法解决,然而在黔驴技穷的时候一定不能将问题捂住,一定要寻求沟通与帮助。另外如果是发现别人的问题,那更加需要及时地提醒,更进一步还可以提供解决方案以供参考。
五、终身学习
信息技术的发展可谓是日新月异,所以需要大量的学习才能保证对知识的敏锐度。书中提到的几个方法值得对待:(1)迭代和增量式的学习:即花固定的不需要太长的时候持续学习;(2)了解最新行情;(3)参加本地的活动:比如讲座或者培训;(4)参加研讨会议;(5)如饥似渴地阅读。总之就是生命不止,学习不息。这方面我有个自认为的最佳实践:学习一方面需要考虑兴趣,喜欢的才高兴去学;另一方面需要考虑整个行业的发展方向,跟着大势起码不容易过时;另外最好能“学以致用”或者“解惑”,这样可以更快地实践检验和得到反馈。
六、投资团队
“教会徒弟,饿死师傅”这样的话经常被当做玩笑话讲,不过实际情况中确实也有不少人存在这样的想法,但是这种想法是非常危险的。如果这样的人做为领导,团队的实力会很难提高,另外自身的水平也会受到很大的局限性。另外现在是个崇尚开源的技术世界,不论是做为领导还是普通的一员,都要乐于分享,保持一个开放的心态,多听多讲必有所获。如果在公司可以定期组织一些分享交流会或者坐谈会,而且形式也不用过于死板,可以轻松愉快点。
七、打破砂锅问到底
凡事多问几个为什么,对于问题要不满足于简单地解决,更进一步要了解问题产生的原因?遇到类似问题怎么解决?怎么解决更好等等。总之重要的不是问题本身,而是问题背后深层次知识的掌握和解决类似问题的方法。
八、客户为大
程序员做为项目的实施人员喜欢从实施的角度考虑问题,而忽视用户的角度,这样往往就造成对需求的理解与用户存在偏差,更有甚者有些程序员直接闭门造车,最后交付的时候与用户所想千差万别。所以程序员一定要多注意以客户(业务)的角度考虑问题,在需求不明确的时候不要埋头若干或想当然地实施,一定要及时与需求方进行沟通确认。
我这里没有讲到太多的编码细节相关的习惯,原书其实提到了很多,还有大量的讲解与示例,而且都有一些实践的技巧讲解。我更多地是谈了些个人的体会,不及书中万一,所以这里推荐下这本书,值得一看。
相关推荐
自己总结的《高效程序员的45个习惯》,把书中自己感觉较好的段落摘抄下来,稍稍加了点自己的想法,挺好的...
第1章 敏捷——高效软件开发之道 第2章 态度决定一切 1. 做事 ...9.1 只要一个新的习惯 9.2 拯救濒临失败的项目 9.3 引入敏捷:管理者指南 9.4 引入敏捷:程序员指南 9.5 结束了吗 附录A 资源 索引
高效程序员45个习惯,为你的个人拓展提供发展方向
高效程序员的10个习惯,养成好习惯,工作效率高
高效程序员的45个习惯 英文完整版 V.Subramaniam, A.Hunt - Practices of an Agile Developer - Working in the Real World. 2006.pdf
高级程序员的45个好习惯,很多很经典的习惯有助于你的开发之路
高效程序员的十个习惯 好书分享,提高开发效率。
高效程序员的10个习惯,希望对你有所帮助,
高效程序员应该养成的七个习惯
Phil Chu根据自己的经验提出了高效程序员应该养成的七个习惯。
“项目启动了一段时间之后,你应该进入一种舒适的状态,团队和客户建立了一种健康的富有创造性的关系。 突发事件应极少发生。客户应该能感觉到,他们可以在... “高效程序员的45个习惯:敏捷开发修炼之道”。 iBooks.
要成为一个有效率的程序员要知道些什么?正确的支配自己的时间。。。
成为高效程序员的第一步是,保证时间的合理分配。没有什么比将时间花在完全没有前途的工作上更浪费的了。尽快完成一个直观的系统。这意味着先创建界面,无论是程序界面还是用户界面,然后生成内部功能的存根代码...
这些习惯能让你的代码在高效运行的同时提高可维护性。你写代码的时候,可能大部分时间 都浪费在维护上了,程序的维护代价很高。培养良好的编程习惯,如模块化设计,可以让你 的代码可读性更好,从而容易维护
本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,...
%num对结果以万、亿等为单位输出,用于便捷得到一个大数的值,格式符合中国人的习惯: 当结果万时,原样输出,例如: %num 8844.43 = 8844.43 (珠穆朗玛峰海拔,单位米) 当结果>=1万且亿时,以万为单位输出...
4.高效程序员的45个习惯 5.深入java虚拟机 6.阿里巴巴JAVA开发手册 7.Java核心技术 卷1 基础篇 8.Netty_in_Action 9.java性能优化 10.spring源码解析 11.java 8实战 12.Docker 实战 13.java高并发编程详解 14.nginx...