在软件工程的语境中,敏捷开发是一系列价值观和方法论的集合。敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷流程能保持可持续发展所以敏捷开发欢迎需求的变化,并能在原先软件基础上进行叠加,所以软件可以不断在原先的基础上不断更新,从而减少开发时间,加快发布时间。
敏捷开发流程:
1、我们需要确定完成产品需要做的事情(Product Bracklog),scrum团队要对此进行工作量进行安排,每一项工作时间估计单位为天。
2、有了Product Backlog,scrum团队要进行会议来决定当前Sprint要解决的事(Sprint Backlog),并对工作时间进行细化。
3、冲刺阶段,外部人士不能打断scrum团队,所有交流只能痛多scrum大师这一媒介进行。
4、每一次冲刺结束后,要总结上一次经验教训。
在会议上,我们应该定义好任务究竟是什么,确定所需时间而不是随意糊弄。敏捷开发对团队的要求很简单但也很难实现分别是自主管理、自我开发还有多功能型。只有能自我管理的团队才能创造优秀的架构、需求和设计,无论团队内外,面对面交流很重要能很大程度上增加信任度,提高团队效率。
随着软件开发方法的不断演进,混合的开发方法在各软件企业和团队中应用越来越广泛。每一种开发方法都有其优点,如传统的瀑布式方要求有详细的项目计划和文档,部署、QA测试和交付过程严谨。而敏捷方法的优点则体现在能够快速迭代,更多的强调人员在整个开发过程中所发挥的作用。