敏捷开发是一种从1990年开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的软件开发能力。2001年初一批敏捷方法发起者和实践者在美国犹他州雪鸟滑雪圣地举行了一次聚会,在这次会议上,专家们共同起草了敏捷软件开发宣言,即敏捷联盟宣言(The Manifesto of the Agile Alliance), 敏捷联盟宣言的价值观包括:个人和交互胜于过程和工具;可以工作的软件胜于求全责备的文档;与客户合作胜过合同谈判;及时响应变化胜过循规蹈矩。专家们在宣言基础上又制定了12条用于指导指导实践的原则。该宣言和12条原则是敏捷软件开发方法的核心。
常见的敏捷软件开发方法包括:软件开发节奏(Software Development Rhythms)、敏捷数据库技术(AD/Agile Database Techniques)、敏捷建模(AM/Agile Modeling) 、 自适应软件开发(ASD/Adaptive Software Development) 、水晶方法(Crystal) 、特性驱动开发(FDD/Feature Driven Development) 、动态系统开发方法(DSDM/Dynamic Systems Development Method)、精益软件开发(Lean
Software Development) 、AUP(Agile Unified Process) 、迭代式增量软件开发过程Scrum、测试驱动开发(TDD/Test-Driven Development)、XBreed、极限编程(XP/Extreme Programming) 、探索性测试等。
项目管理知识体系PMBOK(Project Management Body Of Knowledge)是由目前全球影响最大的项目管理专业机构——美国项目管理协会PMI(Project Management Institution)于1980年代推出的。PMI基于PMBOK开展的项目管理专家认证PMP(Project Management Professional)被业界广泛认同。
#----diff
IPD不仅关注把事情做正确(do the things right),同时也关注做正确的事情(do the right things),所以IPD既强调执行的重要,也强调决策的重要。CMMI主要关注执行,即把事情做正确(do the things right),而且CMMI对如何执行好开发活动要求更规范、更细。
6、人员管理不一样
IPD包括了对团队和个人的考评,如对集成组合管理团队(IPMT)和产品开发团队(PDT)的评估。 CMMI则不包括人员管理的内容。当然,SEI开发了主要针对软件开发人力资源管理的P-CMM。
尽管,IPD与CMMI有这么多的不同,但就对具体流程和活动进行管理而言,两者所依据的原则、方法和实践是相通的和一致的,所以企业在优化产品开发体系时,完全可以将两者融合,实施IPD+ CMM/CMMI的解决方