1.修炼内功 编程思想为内功,各种技术为外功,设计模式为套路; 已编程思想为指导,运用各种技术来实现,方能成为高手; 套路不仅仅是套用,是要从套路中学习其思想,从套路中学习其外功,灵活运用,最后不拘泥与套路,无招胜有招。 2.学习能力 千里之行始于足下,贵在坚持;学会如何学习,不要让自己处在舒适区,快速形成正反馈; 认知科学,神经学,学习和行为为理论 提高自己学习和思考技能 3.沟通能力 真正难题是:团队内部和团队间交流,甚至更困难的问题是完全陈旧的思想。没有任何项目是孤岛,软件不可能孤立地创建或者运行。 4.改变自己 生命中没有什么是恒久不变的,只有死鱼才随波逐流,尝试改变自己。 5.思考 始终关注情境;万事万物都是相互联系的 现实世界是非线性的(小的事物可能会有意想不到的巨大影响)(一切都是关联的) 有些东西是基础的,各领域是相通的。 一名专家的关键要素:应用你自己的实践经验,理解情境和利用直觉。 6.实践 实践出真知(利用反馈,乐趣和失败来创造更有效的学习环境,关注设定最后期限的危害,并体会如果通过自我引导积累经验) .德雷福斯模型(情境模型) 制造问题的思维方式无法用来解决问题。 德雷福斯技能获取模型:是构建理论。事件理论和构建理论–解释我们观察到的现象 德雷福斯模型建议我们采取一系列行动,切实改进软件开发行为—无论是为了个人还是为了整个行业 新手和专家有着根本区别,他们看待世界的方式不同,反应也不同 新手到专家:不只是知道更多或者获得了技术,而且还在如何认识世界,如果解决问题以及如何形成使用的思维模型等方面体验到根本性的区别。 新手(于情境无关指令可以很好完成,对于某种情境,不知道哪条规则是最相关的) 经验:指的是通过实施这项技术促进了思维的改变 高级新手(能够开始多多少少摆脱固定的规则,可以独自尝试任务,但是仍难以解决问题) 胜任者(能够建立问题域的概念模型,并有效使用它们) 探寻和解决问题。 精通者:需要全局思维 能够纠正以往不好的工作表现,它们会反思以前是如何做的,并修改其做法,期待下一次表现得更好。(自我改进) 学习他人的经验 经验之谈不是指令清单,它们必须在一定的情境下使用。 理解情境是成为专家的关键。 敏捷开发就是在一个高度协作的环境中,不断使用反馈进行自我调整和完善 无知往往来自于自信而不是知识。 大多数人都是高级新手 积极的实践: 1.需要一个明确定义的任务。 2.任务需要有适当难度—有挑战性但可行 3.任务环境可以提供大量反馈,以便于你采取行动。 4.提供重复犯错和纠正错误的机会。
7.用于承担责任 环境中有好的榜样 通过观察和模仿来学习 没有实践就没有技能 模仿,吸收,创新 在实践中保持技能 模型是工具,而非镜子 新手需要与情境无关的规则,而专家使用与情境相关的直觉。