1.敏捷—高效软件开发之道
敏捷:敏捷开发就是在一个高度协作的环境中,不断的使用反馈进行自我调整和完善。
先难后易,我们首先要解决困难的问题,把简单的问题留到最后。
2.态度决定一切
做事:遇到了问题首先要做的是解决问题,而不是去找出是谁的错误。
指责不会修复bug,把矛头对准解决问题的办法,而不是人。这是真正有用处的正面效应。
勇于承认自己不知道答案,会让人感觉放心。
欲速则不达:一次又一次的快速修复,每一次都不探究问题的根源,久而久之就形成了一个危险的沼泽地,最终会吞噬整个项目。
不要坠入快速的简单修复之中,要投入时间和经历保持代码的整洁:code review && TDD
对事不对人:当自己的队友遇到一个明显的错误的时候,要询问你的队友,并提出自己的顾虑,而不是否定其能力,支出明显的缺点,而且否定其观点。
在团队中,每个人都有好的想法,也会有不对的想法,每个人都需要自由的表达自己的观点。不要害怕受到批评,即使自己的想法不被全盘接受,但对最终的结局问题也是有所帮助的。
“你不需要很出色才能起步,但是你必须起步才能变得很出色。”
-
对于团队决策一些有效的建议:
- 设定讨论的最终期限。要知道讨论没有最好的答案,只有更适合的方案。
- 逆向思维。对于每个方案,既要想到其优点,也要考虑其缺点。
- 设立仲裁人。选择一个仲裁人作为本次讨论的决策者。类似于主持人的角色。
- 支持应经做出的决定。方案一旦确定了,团队中的每个人,都应该支持它,因为结果最重要。
对事不对人,让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好。
做正确的事:要诚实,要有勇气去说出实情。优势,这样做很困难,所以我们要有足够的勇气。
3.学无止境
- 即使你已经在正确的轨道上,但如果只是停止不前,也仍然会被淘汰出局。
-
跟踪变化
- 迭代和增量式的学习。每天计划用一段时间来学习新技术,他不需要很长时间,但需要经常进行。当听到一些不熟悉的术语或者短语时,简要地把它记录下来,然后在计划的时间中深入研究它。
- 了解最新行情。
- 参加本地的用户组活动
- 参加研讨会议
- 如饥似渴的阅读,技术和非技术相关的都可以。
- 跟踪技术变化,不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯。
- 对团队投资,一个*学习型的团队才是较好的团队。可以通过午餐会议增进每个人的知识和技能,并帮助大家聚集在一起进行沟通交流。唤起人们对技术和技巧的激情,将会对项目大有裨益。
- 打破砂锅问到底:不停地问为什么,不能只满足于别人告诉你的表面现象。要不停的提问知道你明白问题的根源。
- 把握开发节奏,解决任务,在事情变得一团糟之前。保持时间之间稳定重复的间隔,更容易解决常见的重复任务。