Proj FuzzViz Paper Reading: Visualizing Metric Trends for Software Portfolio Quality Management
Abstract
背景:当今公司的软件组合software portfolio由各种异构、模块化且通常是多语言polyglot的软件解决方案组成。确保这些整个产品组合的高质量标准给质量工程师带来了额外的挑战,并且需要新的策略和可视化方法来支持软件质量管理决策。
本文:Portfoliotrix——一个专家可视化原型(an expert visualization prototype),用于对软件质量度量趋势进行全投资组合分析(a portfolio-wide analysis)和比较。
方法:
- 四阶段全自动数据挖掘流程(),用于从底层软件存储库中收集和聚合质量指标数据(quality metric data)。
- 一个前端,有fillter。满足之前的定性半结构化专家访谈中得出的八种特定信息需求。
实验:基于场景的专家评估
- 使用我们的工具完成与质量相关的管理任务所花费的时间少于他们在仅依赖现有工具集时所估计的时间
- 达到了“良好”的系统可用性量表 (SUS) 分数,为 76.7 分
III. Information needs in software portfolio quality management
从这些问题中,我们得出以下信息需求 (IN):
IN1:个性化详细级别:项目经理、软件架构师和开发人员需要其任务详细级别的信息,以及在这些不同详细级别之间无缝导航的可能性.如果工具忽略了这一要求,结果要么是信息过载,要么是缺乏数据质量。
IN2:数据真实性、一致性和集中化:由于软件包含许多直接影响质量的源代码和配置更改,因此分析数据必须保持更新。不频繁的监控会导致对当前状态的错误结论。此外,数据采集方法在整个投资组合中必须相同,否则项目将失去可比性。最后,决策者需要集中数据进行概述和比较。分散和分散的数据阻碍了他们的工作并使其更容易出错。 [1] 中汇编的投资组合管理不足的症状使我们能够推断出另外两个新的信息需求:
IN3:早期问题通知:决策者需要关于低质量条件的早期通知。如果未被发现,这些情况会对项目产生无限制的负面影响。此外,质量恶化会导致升级,需要对项目资源进行计划外的重新分配。
IN4:共享质量指南:投资组合层面的客观决策需要透明和共享质量指南的支持。否则,项目之间的不同标准在项目组合层面上变得难以理解。
IN5:历史质量趋势:对于我们的受访者来说,质量指标在项目期间的变化历史与当前状态一样重要。意识到持续的下降趋势可以在严重情况之前及早预防
IN6:具有阈值和例外的健康指标:由于投资组合中质量指标的数据密度迅速导致信息过载,我们的专家表示需要一个汇总的质量指标项目。此外,可配置的度量阈值将帮助他们在整个投资组合中应用共享的质量标准。但是,他们认为在极少数情况下需要为每个项目设置可配置阈值的偶尔例外情况。
IN7:项目比较:尽管这种需求很明显,但我们了解到,我们的专家对他们目前监督投资组合和比较项目不同指标的方式并不满意。他们缺少的是跨项目的可配置并排视图,可促进探索和比较,同时一目了然地呈现其最重要的质量指标。不同指标的组合也被我们的专家评为基本特征,因为单个指标通常不够表达,这一结论也得到了文献的支持(见 [19])。
IN8:代码接近性:我们的专家呼吁在监控投资组合时提供可操作的工具支持。
IV.
聚合函数,如平均值、中位数或总和,以及每次提交的度量分布,都是预先计算的,以提高运行时的渲染速度,
we relied on commonly used static OOP and complexity metrics provided by Understand, like Lack of Cohesion of Method (LCOM), Coupling between Object Classes (CBO) or Cyclomatic Complexity (CC)