=======================================================================
Software Engineering notebook
参考资料:
[1]:http://agilemanifesto.org/
[2]:Software Engineering Tenth Edition
对于软件工程而言,没有放之四海而皆准、适用于所有不同类型软件开发的过程模型。正确的过程取决于客户和管理需求、软件使用所处的环境,以及所开发的软件类型。
=======================================================================
敏捷宣言:
我们通过身体力行和帮助他人来揭示更好的软件开发方式。通过这些工作,我们形成了如下价值观:
个体与交互胜过过程和工具;
可工作的软件胜过全面的文档;
客户协作胜过合同谈判;
响应变化胜过遵循计划。
也就是说,虽然在每项对比中后者也有价值,但我们更看重前者的价值。
敏捷方法的原则:
客户参与 | 客户应当在整个开发过程中紧密参与。他们的角色是提供新的系统需求及其优先级,并对系统的迭代进行评价 |
拥抱变化 | 期待系统需求变化,对系统进行设计以更好的融入这些变化 |
增量交付 | 软件按照增量进行开发,客户描述每个增量中要包含的需求。 |
保持简洁 | 在所开发的软件以及开发过程中都关注简洁。只要有可能,都要积极地消除系统的复杂性。 |
人而不是过程 | 开发团队的技能应当被充分认识和利用。应当让团队成员在没有规定的过程的限制下发展他们自己的工作方式。 |
所有的敏捷方法都提倡软件应当以增量的方式开发和交付。这些方法基于不同的敏捷过程,但是都遵循敏捷宣言中的那些原则。因此,不同的方法之间有很多共性。