习惯一:对事不对人
我们每个人都会有好的想法,也会有不对的想法,团队中的每个人都需要自由地表达观点。即使你的建议不被全盘接受,也能对最终解决问题有所帮助。不要害怕受到批评。记住,任何一个专家都是从这里开始的。用Les Brown的一句话说就是:“你不需要很出色才能起步,但是你必须起步才能变得出色。”
设计充满了妥协(生活本身也是如此),成功属于意识到这一点的团队。工作中不感情用事是需要克制力的,而你若能展现出成熟大度来,大家一定不会视而不见。
对事不对人。让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好。
习惯二:跟踪变化
如何才能跟上技术变化的步伐呢?下面是一些建议。
1、迭代和增量式的学习。
每天计划用一段时间来学习新技术,它不需要很长时间,但需要经常进行。记下那些你想学习的东西——当你听到一些不熟悉的术语或者短语时,简要地把它记录下来。然后在计划的时间中深入研究它。
2、了解最新行情。
互联网上有大量关于学习新技术的资源。阅读社区讨论和邮件列表,可以了解其他人遇到的问题,以及他们发现的很酷的解决方案。选择一些公认的优秀技术博客,经常去读一读,以了解那些顶尖的博客作者们正在关注什么(最新的博客列表请参考pragmaticprogrammer.com)。
3、参加本地的用户组活动。Java、Ruby、Delphi、.NET、过程改进、面向对象设计、Linux、Mac、,以及其它的各种技术在很多地区都会有用户组。听讲座,然后积极加入到问答环节中。
4、参加研讨会议。
计算机大会在世界各地举行,许多知名的顾问或作者主持研讨会或者课程。这些聚会是向专家学习的最直接的好机会。
5、如饥似渴地阅读。
找一些关于软件开发和非技术主题的好书,也可以是一些专业的期刊和商业杂志,甚至是一些大众媒体新闻。
跟踪技术变化。
你不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯。
习惯三:让设计指导而不是操纵开发
习惯四:提早实现自动化部署
习惯五:度量真实的进度
习惯六:用代码沟通
习惯七:编写内聚的代码
习惯八:根据契约进行替换
习惯九:报告所有的异常
习惯十:做代码复查