同事提及“软件工程、软件生命周期、项目管理、CMMI、IPD、RUP、UML及UML建模、面向对象分析与设计、需求分析、系统分析与设计……等等,它们到底是什么?它们之间有什么关系?”
下面是个人见解,请指正:
1.产品管理维度
IPD是集成产品开发,从传统行业引入到软件行业,是从产品管理维度定义产品研发作业过程;
1.产品管理维度
IPD是集成产品开发,从传统行业引入到软件行业,是从产品管理维度定义产品研发作业过程;
从高层次的企业视角,从产品如何给用户创造价值,如何创造一个产品的方面定义的作业流程;
2.项目管理维度
从项目维度,PMP(项目管理),RUP,CMMI等都是项目研发过程或评估方法,是项目级的研发流程定义过程;
PMP是传统项目管理、
RUP是retional的统一过程,用于软件研发过程指导
CMMI是一种软件成熟度的评估方法,也用于软件研发过程指导
上述项目管理方法或过程,都可以称为“软件的生命周期”,以此过程控制的高质量,来控制软件成果的产出;
3.方法/实践维度
UML、面向对象分析设计,需求/系统分析设计等,是软件生命周期过程中使用的方法或实践,是软件生命周期中运用的工具;
运用工具目的是如何更好,更快捷,更真实的描述问题,分析问题,解决问题;
可以在产出项目成果过程中更高效,更快捷,形成知识实践积累;
2.项目管理维度
从项目维度,PMP(项目管理),RUP,CMMI等都是项目研发过程或评估方法,是项目级的研发流程定义过程;
PMP是传统项目管理、
RUP是retional的统一过程,用于软件研发过程指导
CMMI是一种软件成熟度的评估方法,也用于软件研发过程指导
上述项目管理方法或过程,都可以称为“软件的生命周期”,以此过程控制的高质量,来控制软件成果的产出;
3.方法/实践维度
UML、面向对象分析设计,需求/系统分析设计等,是软件生命周期过程中使用的方法或实践,是软件生命周期中运用的工具;
运用工具目的是如何更好,更快捷,更真实的描述问题,分析问题,解决问题;
可以在产出项目成果过程中更高效,更快捷,形成知识实践积累;
造成我们思考混乱的根源,我个人认为是:思考未从顶层思考,如果不从顶层思考(从产品维度,从为用户提供价值视角),就无法以此抓住整体主线;
抓不住主线,就无法提起整个“葡萄”,而只能逐个观察成堆的单个“葡萄粒”;
用德鲁克的话说是:只有把视野放到贡献上(重视贡献),你才可能不为你的专长所限,不为能力所限,不为你的部门所限;
才能看到整体绩效,而只有看到整体绩效,才会考虑自己部门、个人和组织目标的关系;
而只有从贡献、组织目标角度考虑(给用户带来价值),才可能更好的理解或理顺上述提及的概念及相互关系!!!