工程师培养解决问题的能力。理解问题(Understand),设计(Design),写代码(Build)。写代码是最容易的。
- 面向接口编程
- 面向服务编程
发现问题、分析问题、解决问题
是什么、为什么、怎么做
-
是什么/发现问题
要搞清楚问题是什么,如何定义问题的边界
-
为什么
问题产生的原因是什么
-
怎么做
分解问题,对问题拆解
归类问题
-
复盘、抽象、下次更好的避免或者解决问题
-
我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
-
欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌握变化。
-
经常地交付可工作的软件,相隔几个星期或者一个月,倾向于采取较短的周期。
-
业务人员和开发人员必须相互合作,项目中的每一天也不例外。
-
激发个体的斗志,以他们为核心搭建项目。提供所需要的环境和支援,辅以信任,从而达成目标。
-
不论团队内外,传递信息效果最好的效率最高的方式是面对面交流。
-
可工作的软件是进度的首要度量标准。
-
敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持步调稳定延续。
-
坚持不懈的追求技术卓越和良好设计,敏捷能力由此增强。
-
以简洁为本,他是极力减少不必要工作量的艺术。
-
最好的架构、需求和设计,出自自组织团队。
-
团队定期反思如何能够提高效率,并依次调整自身的举止表现。