最近公司正在推行Agile开发流程,并尝试使用Scrum方式开发。以前只从事过瀑布模型的开发,对Agile只是略有耳闻,目前还未体会到Agile开发的精髓。
在Agile的manifesto中提到了四点价值:
- Individuals and interactions over processes and tools : Agile 更注重个人的价值,了解团队中个体的能力的差别,根据能力进行分工;注重个人间的交流和互助;
- Working software over comprehensive documentation : 可工作的软件比繁杂的文档更重要;并不是文档就不需要了,而是不注重文档的形式,比如部分文档的功能可以通过良好的代码结构和注释来完成;
- Customer collaboration over contract negotiation : 注重和客户的协作;因为软件开发的最终目的是满足客户的需求,然而有时候需求的传递存在着许多的问题,并且客户的需求也不是固定不变的,所以客户的协作才变得如此重要;
- Responding to change over following a plan : 我觉得这条是重点,也是上面几条的根本目的。
然而,就像世间的其他事物一样,Agile也不是万能的。我不认为它能完全取代瀑布模型而存在,那么就有了下面的几个问题:
- Agile 相比其他开发模型的优点和缺点有哪些?(一般人忽略了它的缺点)
- Agile开发模型适应哪些类型的项目开发?(它的适应范围)
对于这些问题,也许会在以后的实践过程中会有更深刻的理解。
本文探讨了敏捷开发的基本理念,特别是Scrum方式的应用。通过对比传统的瀑布模型,文章讨论了敏捷开发的价值观,包括重视个人与交互而非过程和工具、工作软件胜于详尽文档、客户协作优于合同谈判、响应变化高于遵循计划。

247

被折叠的 条评论
为什么被折叠?



