原文:http://www.mypm.net/articles/show_article_content.asp?articleID=13650&pageNO=1
软件项目的过程诊断与改善已经有了很多的有效的参考模型和最佳实践方法集,其中,最有影响的是SEI的软件过程成熟度模型(SW-CMM/TSP/PSP 体系)和敏捷联盟提出的敏捷方法集等。这些模型和方法的提出都基于不同的隐喻,比如,SEI把软件开发过程看作类似于硬件产品的设计与制造过程,关键过程依赖于基于活动和度量的有序过程的管理规范。CMM的基于活动的度量方法和有次序的、基于活动的管理规范与瀑布模型有非常密切的联系(先是需求活动,然后是设计活动,编码活动,单元测试活动,集成活动,以及系统接收测试),过程形成刚性的制度和规范稳定下来。因为CMM的思想受到瀑布式开发思想的很大影响,造成许多组织对CMM的认识停留在瀑布思想上,主要的原因是,以硬件的开发设计过程来类比软件过程。软件开发组织尝试着更加现代和高效的方法改进其项目管理过程,迭代开发技术、软件产业最佳实践和经济动机驱动组织采用面向结果的过程,重视开发业务案例和原型方案、可用发布、现场版本的发布等,这些方法形成敏捷方法的思想。基于敏捷方法的软件项目过程管理是不同于传统过程管理理念的过程管理方法,过程的可重构性而非稳定性是敏捷过程管理的核心,存在于各种层次的软件过程中,而这些能力在CMM里被认为是在最高级别成熟度的组织中才需要开始考虑并作为管理的重心。敏捷方法集为以过程的可重构性和自组织性为中心的过程度量、控制、改进提供了丰富的手段与思想。过程的动态性体现于定义、执行、控制过程,过程的执行是过程管理的一部分,即过程的动态自组织性(自适应)。
以传统的生产制造项目和工程建设项目BPR和BPI的方法来进行软件项目的过程改进是不适合的。各个敏捷方法集基于各种各样的隐喻,如极限运动(XP极限编程)、橄榄球赛(SCRUM)、自适应系统(ASD)、集市(Open Source)等,把软件过程作为一个探索过程,不断的以经济原则对客户需求和技术需求进行评判和选择。而总的来说,新提出的软件项目过程模型大多与生物进化过程进行类比,在生物进化过程的隐喻下把软件开发过程看作一个智能体成长的过程,这个智能体一般认为是一个软件产品,或更深刻的认为是一个软件开发组织的知识结构,进化的动力是经济动机和残酷的市场选择。
软件项目的产品和加工对象都是“软”的信息,软件产品的特点与硬件产品相差太大。事实上,从某种意义上说,软件开发组织为客户提供的不是或不只是软件产品,而是客户所需要的信息,软件产品只是为客户提供信息服务的自动化代理而已。因此,可以为软件开发提出另一个隐喻
软件项目的过程诊断与改善已经有了很多的有效的参考模型和最佳实践方法集,其中,最有影响的是SEI的软件过程成熟度模型(SW-CMM/TSP/PSP 体系)和敏捷联盟提出的敏捷方法集等。这些模型和方法的提出都基于不同的隐喻,比如,SEI把软件开发过程看作类似于硬件产品的设计与制造过程,关键过程依赖于基于活动和度量的有序过程的管理规范。CMM的基于活动的度量方法和有次序的、基于活动的管理规范与瀑布模型有非常密切的联系(先是需求活动,然后是设计活动,编码活动,单元测试活动,集成活动,以及系统接收测试),过程形成刚性的制度和规范稳定下来。因为CMM的思想受到瀑布式开发思想的很大影响,造成许多组织对CMM的认识停留在瀑布思想上,主要的原因是,以硬件的开发设计过程来类比软件过程。软件开发组织尝试着更加现代和高效的方法改进其项目管理过程,迭代开发技术、软件产业最佳实践和经济动机驱动组织采用面向结果的过程,重视开发业务案例和原型方案、可用发布、现场版本的发布等,这些方法形成敏捷方法的思想。基于敏捷方法的软件项目过程管理是不同于传统过程管理理念的过程管理方法,过程的可重构性而非稳定性是敏捷过程管理的核心,存在于各种层次的软件过程中,而这些能力在CMM里被认为是在最高级别成熟度的组织中才需要开始考虑并作为管理的重心。敏捷方法集为以过程的可重构性和自组织性为中心的过程度量、控制、改进提供了丰富的手段与思想。过程的动态性体现于定义、执行、控制过程,过程的执行是过程管理的一部分,即过程的动态自组织性(自适应)。
以传统的生产制造项目和工程建设项目BPR和BPI的方法来进行软件项目的过程改进是不适合的。各个敏捷方法集基于各种各样的隐喻,如极限运动(XP极限编程)、橄榄球赛(SCRUM)、自适应系统(ASD)、集市(Open Source)等,把软件过程作为一个探索过程,不断的以经济原则对客户需求和技术需求进行评判和选择。而总的来说,新提出的软件项目过程模型大多与生物进化过程进行类比,在生物进化过程的隐喻下把软件开发过程看作一个智能体成长的过程,这个智能体一般认为是一个软件产品,或更深刻的认为是一个软件开发组织的知识结构,进化的动力是经济动机和残酷的市场选择。
软件项目的产品和加工对象都是“软”的信息,软件产品的特点与硬件产品相差太大。事实上,从某种意义上说,软件开发组织为客户提供的不是或不只是软件产品,而是客户所需要的信息,软件产品只是为客户提供信息服务的自动化代理而已。因此,可以为软件开发提出另一个隐喻
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15027599/viewspace-438748/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15027599/viewspace-438748/