从PSP到TSP再到CMM

2024-03-21 00:08
文章标签 tsp cmm psp

本文主要是介绍从PSP到TSP再到CMM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从PSP到TSP再到CMM

  前言

  本文将围绕过程管理的各个环节,以循序渐进的方式,更具体更深入地讲述和分析软件开发的过程改进问题。它将从如何控制、管理和改进个人工作方式的问题开始,到如何创建高效且具有自我管理能力的工程小组,工程人员如何才能成为合格的项目组成员,以及管理人员如何对群组提供指导和支持,一直讲到如何在全公司范围内定义和推行合适的符合CMM标准的过程规范,并达到不断改进的良性循环状态,等等。

  如果按照本文所提到的这种思路和体系进行过程改进的话,那么公司的过程工作将是踏实而有效的。并且于个人,于公司都将受益非浅:

  1、 提升个人的能力。PSP向你展示如何制订计划并跟踪你的工作,提供工作有效性的数据并识别出自己的优势和劣势,从而使你能够不断了解和改善自己的技能和才智,并在工作中充分利用自己独特的才能。而TSP向你展示如何成为合格的项目组成员,如何创建高效且具有自我管理能力的工程小组,从而达到高效的协同开发。

  2、 完善公司的过程。结合TSP和PSP,在全公司范围内建立规范的开发过程就轻而易举。再加上本文提供的具体实践和有效思路,能够很好地帮助企业提升管理能力,包括软件过程管理、项目管理和持续改进过程。

  个人开发能力

  PSP (Personal Software Process) 是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。

  团队开发能力

  TSP(Personal Software Process)对群组软件过程的定义、度量和改革提出了一整套原则、策略和方法,把CMM要求实施的管理与PSP要求开发人员具有的技巧结合起来,以按时交付高质量的软件,并把成本控制在预算的范围之内。在TSP中,讲述了如何创建高效且具有自我管理能力的工程小组,工程人员如何才能成为合格的项目组成员,管理人员如何对群组提供指导和支持,如何保持良好的工程环境使项目组能充分发挥自己的水平等软件工程管理问题。

  软件开发过程

  软件开发过程(Software Development Process,SDP)是组织级在全公司范围内进行的过程定义、度量和改进,包括三部分:开发生命周期、项目管理实践和软件工程过程。它是在CMM的基础上建立起来的,综合在实践中行之有效的具体方法,注重实用性和效果,以实现项目交付的可预期性和质量保证为最终目标。

  开发生命周期。

   一个专业的软件开发公司应该有根据自己的开发模式建立一个非常详细的软件开发周期模型,包括开发阶段,每阶段内的任务,任务的具体工作和交付物,使用的开发工具和技术,以及人员的分工,甚至可以细到通用的审核会议。将开发中所有的内容用网络图或流程图的形式明确地规范下来,使得高层能够对项目的整体过程一目了然,使得项目的管理者很容易地跟踪任务的情况,使得每位开发人员都非常明确自己的任务和在整体开发中的作用。只有这样的生命周期模型对具体的开发才有意义,它是公司所有开发的“圣经”,所有的技术开发和过程开发均需在此基础上进行开展,并以此为依据。

  项目管理实践。

  以公司的软件生命周期为基础,依据CMM标准,为公司建立一系列合适的过程实践。几个关键的过程实践包括:质量保证,需求管理,配置管理,计划和跟踪,风险控制。然后再建立一套项目度量工具来更加精确地管理项目。如果你们企业不做CMM认证的话,我认为其他的实践可以先不做。将这些基本的工作做到位,然后再参考三级四级五级的实践来改进和补充这些实践,也完全可以很好地控制开发的软件过程。即所谓:学习CMM是吸收其精华和精神。

  持续改进过程。

  有了规范的开发生命周期模型和项目管理实践,可以想办法为企业设计一个建立在数据基础之上、不断度量和改进、不断提高企业开发能力的一个良性循环的机制。模型图如下:

 

  三者的有机结合

  PSP、 TSP 和CMM为软件产业提供了一个集成化的、三维的软件过程改革框架。三者互相配合,各有侧重,形成了不可分割的整体,犹如一张具有三条腿的凳子,缺一不可。在软件能力成熟度模型CMM的18个关键过程域中,有12个与个体软件过程PSP紧密相关,有16个与群组软件过程TSP紧密相关。因此,如果能够熟悉个体软件过程和群组软件过程,不仅有助于工程师改善工作效率,而且也非常有利于组织的过程改善。
为了更有效地改进公司的过程,在这里我建议一种循序渐进的方法。如下图所示:

  

  PSP注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分利用PSP,从而保证了项目整体的进度和质量。

  TSP注重团队的高效工作和产品交付能力,结合PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,展示了如何去生产高质量的产品。

  CMM注重于组织能力和高质量的产品,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。再拓展到本文提到的软件开发过程SDP的话,那就是具有更高层次更高组织性的意义。

  总结

  如果一个组织正在按照CMM改进过程,则PSP和TSP是和CMM完全相容的。如果一个组织还没有按照CMM改进过程,则有关PSP和TSP的训练,可以为未来的CMM实践奠定坚实的基础。总之,单纯实施CMM并不能完全做到能力成熟度的升级,我国企业还应当将实施CMM与实施PSP和TSP有机地结合起来,才能将CMM发挥最大的效力。

这篇关于从PSP到TSP再到CMM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831168

相关文章

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

【uva】116-Unidirectional TSP(动态规划,路径问题)

一道很基础的动态规划,不过需要考虑路径(而且是最小字典序)。 转移方程很好写: d[i][j] = min(dp[i + 1][ j] ,dp[i + 1][j - 1] ,dp[i + 1][ j - 1]) + mat[j[i]; dp[i][j]代表走到第i列第行的时候距离最后一行的最短距离; 13991881 116 Unidirectional TSP Accepted C

基于SA模拟退火算法的多车辆TSP问题求解matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述        基于SA模拟退火算法的多车辆TSP问题求解matlab仿真,三个车辆分别搜索其对应的最短路径,仿真后得到路线规划图和SA收敛曲线。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序运行后无水印)

旅行商问题 | Matlab基于混合粒子群算法GA-PSO的旅行商问题TSP

目录 效果一览基本介绍建模步骤程序设计参考资料 效果一览 基本介绍 混合粒子群算法GA-PSO是一种结合了遗传算法(Genetic Algorithm, GA)和粒子群优化算法(Particle Swarm Optimization, PSO)的优化算法。在解决旅行商问题(Traveling Salesman Problem, TSP)时,这种混合算法可以结合两种算法的优点

模拟退火TSP问题

模拟退火算法在求解最优值问题上有很大的优势,前面一篇博文介绍了用模拟退火算法实现求函数的最大、最小值问题。本文主要介绍如何用python实现模拟退火在TSP(旅行商)问题中的应用,源代码请移步pySA。网络上有不少文章介绍模拟退火TSP应用,可以对比着看。我们对实现的算法进行了测试,动态可视化更加形象。 1. TSP 问题描述 这个问题实际上就是求解最小路劲的问题,不过目前pySA实现还

UVa 116 Unidirectional TSP

这道题是非常基础的动态规划,类似于分阶段决策。题意是:一个M*N的数组,要求从第1列走到第N列且下一步的位置都只能是当前位置的相邻右侧,相邻右上,相邻右下三个位置。要求路径上的格子内的数字和最小。若有和相同的路径,则输出字典序最小的那一条路径。解法其实就是设置一个记忆数组,分阶段决策即可。         但是决策有从左往右和从右往左两种方式。开始我使用的从左往右的方式,这稍微麻

TSP:常春藤算法IVY求解旅行商问题TSP(可以更改数据),MATLAB代码

一、旅行商问题介绍 二、常春藤算法IVY求解TSP 2.1算法介绍 常春藤算法(Ivy algorithm,IVY)是Mojtaba Ghasemi 等人于2024年提出智能优化算法。该算法模拟了常春藤植物的生长模式,通过协调有序的种群增长以及常春藤植物的扩散和演化来实现。常春藤植物的生长速率是通过微分方程和数据密集型实验过程建模的。该算法利用附近常春藤植物的知识来确定生长方向,

人工蜂群算法求解TSP问题

人工蜂群算法求解TSP问题 【标签】 ABC TSP Matlab data:2018-10-19 author:怡宝2号 【总起】利用人工蜂群算法(Artificial Bee Colony Algorithm, 简称ABC算法)求解TSP问题,语言:matlab 1. 算法简介 人工蜂群算法(Artificial Bee Colony Algorithm, 简称ABC算法)是一

【算法设计与分析】基于Go语言实现贪心法解决TSP问题

一、前言         本文以上文动态规划法为基础按照相似的输入来完成编程。 二、代码思路         因为是贪心法,直接去找离目前正在遍历的点最近的点,因此输入了一个二维矩阵,咱们还需要设置一个一维数组来存/检验是否遍历过点,遍历过就不要再算了。并再设置一个一维数组,存这个点的前驱,方便最后输出结果。         由于贪心法比较符合人类正常思维方式,比较简单,不再赘述,直接上代

基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述        基于SA模拟退火优化算法的TSP问题求解matlab仿真,并对比ACO蚁群优化算法,对比两个算法的仿真时间,收敛曲线,以及路径规划的结果,最短路径长度。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 3.核