`
ruilin215
  • 浏览: 1161425 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

软件领导与软件质量

阅读更多
之所以有兴趣写这一系列文章,很大程度上是因为前些日子阅读了Murray Cantor同学所著的《软件领导》一书,就如同一个人喜欢读诗,读着读着就会有想写诗的冲动,因此我的这些文字权当是一种读后感,即结合书里的一些观点,用自已的语言再加上自已的经验来重述一遍,说心里话,我自已是没多大能耐的,因此无法做到令每个人都满意,写文章就好象生活一样,有时需要一种平衡或取舍。
通常我们得到对软件产品的抱怨大多来自于测试工程师以及软件用户,测试工程师是温和派,他们按规定办事,尽管如此,他们与软件工程师始终都是死对头,也经常性地展开激烈的争论与冲突,国内大多IT公司的测试工程师的地位都略低于软件开发员,所以有时他们发现的BUG总不能及时有效地解决,有时会闹到项目经理那里理论一番。软件用户是激进派,发现的小问题往往被无限放大,甚至将你的软件产品贬得一文不值,而且用户最喜欢向软件公司的领导们投诉,这可害苦了程序员与测试员。
《软件领导》中写到:若要成为一名成功的软件领导者,就必须理解软件质量的构成要素。
以上所讲的都是与软件产品紧密联系的人员:软件开发者,产品测试者,产品最终用户,我们往往容易忽略另外两个与软件产品密不可分的角色,即客户(购买并拥有软件许可证的客户)与投资者(提供开发经费并拥有知识产权的投资者),在《软件领导》中将用户、客户与投资者称为产品的利害关系人,软件产品的最终目标是满足所有利害关系人需求的高质量软件。
每一种角色对软件产品的要求并不一样,这是让软件工程师与测试工程师极为头痛的事情。用户是直接使用软件产品的角色,用户通过使用软件产品来提高工作效率,给工作或生活带来方便与快乐,因此用户主要从功能性、健壮性、性能、使用简便、可靠性五个方面来评价软件产品的质量。作为软件产品的最终使用者,通常会参与软件开发与测试的整个过程,特别是需求分析阶段,用户起的作用是相当大的。
客户购买软件,客户一般并不是用户,用户关心的质量问题客户也关心,除了用户关心的五个方面,客户还关心以下因素:成本(购买成本,维护成本,升级成本,培训成本等等)、可支持性(补丁程序与升级版本)、可用性(是指系统实际在线,可由用户使用的工作时间比例)、可配置性(软件可定制的程度)。作为软件领导者,在进行软件项目或产品的开发过程中,不仅仅要考虑用户关心的问题,还要考虑客户关心的问题。
投资者是提供开发资金的个人和企业。投资者都希望得到投资回报,回报可以是利润或者是提高企业的生产效率,因此投资者所关心的问题有别于用户与客户,主要是:用户与客户对软件的可接受性,维护成本(它的增加会抵消掉利润),知识产权的价值。作为软件领导者,也需要从投资者的角度来思考问题,但我们往往十分关心开发成本,而对维修成本不太关心,一个软件刚做完的时候是赚钱的,大伙高兴得去挥霍庆祝,实际上,经过一两年的维护后,再去计算,就亏本得令人晕倒。
这世上应不存在完美无瑕的事物,软件也一样,不可能十全十美,作为软件人,我们可以追求完美,精益求精,但需要有一个底线,否则是自讨苦吃。那么,如何才能确保开发出高质量的软件产品呢?《软件领导》中列出了四点:
(1) 在整个开发过程中让用户代表参与到项目中。
我相信很多开发团队是可以做到这一点的,我参与的很多项目就是这样做的,用户会与我们讨论需求分析,体系结构,用户界面等等,到测试阶段,也让用户参与产品的测试工作,可以说,自始至终用户都参与了,但结果还是不理想,因为用户太多了,这个用户满意了,并不代表所有的用户都满意,而实际上我们不可能让所有的用户都参与,在软件终验时,苦命的软件人在不同的用户之间纠缠不清劳碌奔波,幻想有一日能有更好的方法解决这些问题。
(2) 在创造和维护系统体系结构方面进行投资。
软件质量是一个设计问题。在软件开发项目中,体系结构几乎是所有东西的基础。作为软件领导,必须理解系统的体系结构,必须让开发小组对合理的体系结构达成一致的意见,必须在体系结构的设计方面投入较大的精力与时间。
(3) 确定质量优先次序并与团队针对这些优先次序进行交流。
这就如同MICROSOFT的软件,比如WINODWS,OFFICE等,都存在很多的BUG,但微软绝不会等到所有的BUG都解决了才发布与销售软件,这里面就涉及到质量优先次序的问题,怎么样等级的质量问题必须先解决了才能发布,怎么样等级的质量问题可以在发布之后去修打补丁,这也是软件领导所要慎重考虑的事情。
(4) 询问团队在体系结构中如何处理不同的方面,并一定要理解问题的答案并对这些答案感到满意。
这是交流沟通的问题,不同的开发团队具有自已的方式,一个体系结构的确定是需要经过反反复复的讨论与审查的。
软件领导在很大程度上决定软件的质量,软件领导在软件项目开发的过程中有着关键问题的决定权,而这些问题以及软件领导的判断往往决定着软件产品的质量,因此作为一名软件领导,必须透彻理解软件质量的方方面面,作任何决定之前,必须考虑所有产品利害关系人的不同需求。阿蒙(http://www.vchome.net)
分享到:
评论

相关推荐

    软件开发公司质量管理办法

    因此,在实施软件开发公司质量管理办法时,需要公司的领导者和管理者加强质量管理意识和质量管理能力的培训和提高,确保公司的质量管理机构和质量管理程序的健全和完善,确保公司的质量管理办法的实施和执行。

    软件质量保证方案

    ### 软件质量保证方案的关键知识点 #### 一、软件质量保证(SQA)概览 **软件质量保证(SQA)**是一种确保软件产品及其开发过程满足既定标准的有效方法。它通过以下方式实现这一目标: - **过程与产品审查**:客观...

    软件项目质量保证措施方案.docx

    - **测试意义**:软件测试是软件质量保障的关键环节之一,通过测试可以有效地评估软件产品的质量是否达到预定目标。 - **测试过程**:软件测试通常包括单元测试、集成测试、系统测试等多个阶段,每个阶段都有特定的...

    2017年软件企业ISO9001-2015质量管理体系最新质量手册.pdf

    本资源为一份 ISO 9001-2015 质量管理体系最新质量手册,适用于软件企业的质量管理。手册详细介绍了质量管理体系的范围、质量方针、质量目标、组织环境、领导作用、策划、支持、运行、绩效评价、改进等方面的内容。 ...

    质量·软件·管理:系统思维(第1卷)2-2.pdf

    首先,温伯格强调了高质量软件与高质量管理之间的紧密联系。他提出,若要开发出高质量的软件产品,首先需要具备正确的思维方式,即系统思维。系统思维是指在面对问题和解决方案时,能够全面考虑系统的各个组成部分...

    ISO9001质量管理体系认证软件项目

    在软件项目中,遵循ISO9001标准对于确保软件质量和提高客户满意度至关重要。 一、ISO9001质量管理体系的核心原则 1. 以客户为中心:所有活动应以满足客户需求和期望为导向。 2. 领导力:管理层需提供明确的方向,...

    软件质量管理课件-软件质量工程

    通过学习《软件质量管理课件-软件质量工程》,不仅可以掌握理论知识,还能获得实践经验,为参与或领导软件开发项目时做出明智决策提供坚实基础。这份资料无疑是软件行业从业者和学习者共同进步、共享知识的宝贵资源...

    建立软件质量体系.doc

    建立软件质量体系需要经历四个阶段:质量体系的策划与设计、质量体系文件的编制、质量体系的试运行和质量体系审核和评审。 质量体系的策划与设计 在这个阶段,需要做好各种准备工作,包括教育培训、统一认识、组织...

    软件质量保证计划

    - 各子系统的软件质量保证人员既受业务上的软件质量保证小组领导,也受行政上的子系统负责人领导。 - **职责划分**: - 组长全面负责软件质量保证的相关工作。 - 总体组代表负责阶段评审、项目进展报表检查及软件...

    企业软件研发领导力和团队建设.pptx

    本文将深入探讨企业软件研发领导力与团队建设的重要性,并通过案例分析,揭示领导力和团队建设的最佳实践。 ### 领导力的重要性与案例分析 波音299型轰炸机的研发在技术上是一次巨大的飞跃,但其复杂性导致了多起...

    软件质量控制保障方案.docx

    《软件质量控制保障方案》是确保互联网项目成功实施的关键文档,它详细规划了从团队配置、质量管理和进度控制等多个方面确保软件开发质量的过程。以下是对该方案的详细解读: 1. **项目组人员保证方案**:为了确保...

    软件项目质量保证措施.pdf

    软件质量评价过程与测试活动密切相关,测试不仅是发现问题的过程,也是验证和确认质量目标是否达成的重要途径。通过这些全面的措施,可以有效提升软件项目的质量,降低风险,确保项目成功交付。

    软件质量测试-复习

    - 成本属性强调高质量与高成本之间的关系及其带来的经济效益。 - 可测性确保了质量可以通过具体数据进行评估。 #### 二、软件产品质量 **2.1 软件产品质量定义** - **ISO8042**定义软件质量为反映实体满足明确和...

    软件质量保证与测试综述.ppt

    软件质量保证与测试综述 软件质量保证与测试综述是软件生命周期中极其重要的一部分,旨在确保软件产品的质量达到客户要求。软件质量保证是指在软件生命周期中,通过一系列的方法和活动,来确保软件产品的质量达到...

    软件测试之软件质量笔记

    软件质量分为三个层次:流程质量(领导关注)、产品质量(测试工程师关注)和使用质量(用户关注)。流程质量关注研发过程的规范性,产品质量侧重于软件本身的功能和性能,而使用质量则关乎用户实际使用的满意度。 ...

    软件测试领导艺术讲述软件测试的进阶之道

    【软件测试领导艺术】是关于如何提升个人在软件测试领域的专业技能,并且成长为一名有效的领导者。软件测试是软件开发过程中的关键环节,确保产品的质量和稳定性。在这个领域中,进阶之路不仅涉及技术技能的提升,还...

    从发现缺陷到提高质量(2010中国软件技术大会)

    标题“从发现缺陷到提高质量(2010中国软件技术大会)”暗示了这场会议的主题集中在软件质量管理和缺陷处理上,这是一场针对软件开发人员、测试工程师和技术领导的重要活动。2010年的中国软件技术大会可能聚集了业界...

    惠普软件质量保证及持续改进

    在当今高度竞争的IT行业中,软件质量保证(SQA)与持续改进是确保产品和服务达到最高水平的关键因素之一。惠普(HP)作为全球领先的IT解决方案提供商,在这方面拥有丰富的经验和深厚的专业知识。本次报告旨在介绍...

    软件项目质量管理研究模板.doc

    软件项目质量计划编制是软件质量管理的行动纲领,它包括确认与项目有关的质量标准以及如何满足这些标准。质量计划的主要输出结果有质量管理计划、质量度量指标、质量检查单、过程改进计划等。 软件项目质量保证的...

    质量及软件质量管理培训.pptx

    质量及软件质量管理是确保软件产品满足用户需求并达到预设标准的关键环节。在这个领域,我们首先需要理解质量的基本概念。质量被定义为一组固有特性满足要求的程度,这是ISO9000:2005《质量管理体系基础和术语》中的...

Global site tag (gtag.js) - Google Analytics