惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
P
Proofpoint News Feed
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
A
About on SuperTechFans
T
Tenable Blog
M
MIT News - Artificial intelligence
IT之家
IT之家
I
Intezer
D
DataBreaches.Net
爱范儿
爱范儿
T
Threatpost
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
博客园 - 聂微东
C
Check Point Blog
S
Securelist
有赞技术团队
有赞技术团队
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
D
Docker
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog

博客园 - Apex2013

Asp.net实现网站整站截图 Usb key于开发中的使用 我拿什么来留你? 我的人才! 关键字密度与网站排名 总结几个产生上万流量的方法 做垃圾站的一点体会 中国电子旅游网站发展态势研究 美国旅游网站经营模式 网站快速列入Google的最佳方法 为什么Google Adsense广告单元点击价格会下降?? 网站优化—META标签 免费搜索引擎登陆入口大全 网站运营失败的7大原因 做站的心态,和站的大小很有关系!!! 搜索引擎优化知识完全手册 搜索引擎优化策略:创造和平,而不是战争 Google首次详解中国攻略 启动SEO黑名单计划 HAO123的迷思--谈谈SEO 网站地图对优化搜索非常重要
软件领导与软件质量
Apex2013 · 2007-03-20 · via 博客园 - Apex2013

之所以有兴趣写这一系列文章,很大程度上是因为前些日子阅读了Murray Cantor同学所著的《软件领导》一书,就如同一个人喜欢读诗,读着读着就会有想写诗的冲动,因此我的这些文字权当是一种读后感,即结合书里的一些观点,用自已的语言再加上自已的经验来重述一遍,说心里话,我自已是没多大能耐的,因此无法做到令每个人都满意,写文章就好象生活一样,有时需要一种平衡或取舍。

通常我们得到对软件产品的抱怨大多来自于测试工程师以及软件用户,测试工程师是温和派,他们按规定办事,尽管如此,他们与软件工程师始终都是死对头,也经常性地展开激烈的争论与冲突,国内大多IT公司的测试工程师的地位都略低于软件开发员,所以有时他们发现的BUG总不能及时有效地解决,有时会闹到项目经理那里理论一番。软件用户是激进派,发现的小问题往往被无限放大,甚至将你的软件产品贬得一文不值,而且用户最喜欢向软件公司的领导们投诉,这可害苦了程序员与测试员。

《软件领导》中写到:若要成为一名成功的软件领导者,就必须理解软件质量的构成要素。

以上所讲的都是与软件产品紧密联系的人员:软件开发者,产品测试者,产品最终用户,我们往往容易忽略另外两个与软件产品密不可分的角色,即客户(购买并拥有软件许可证的客户)与投资者(提供开发经费并拥有知识产权的投资者),在《软件领导》中将用户、客户与投资者称为产品的利害关系人,软件产品的最终目标是满足所有利害关系人需求的高质量软件。

每一种角色对软件产品的要求并不一样,这是让软件工程师与测试工程师极为头痛的事情。用户是直接使用软件产品的角色,用户通过使用软件产品来提高工作效率,给工作或生活带来方便与快乐,因此用户主要从功能性、健壮性、性能、使用简便、可靠性五个方面来评价软件产品的质量。作为软件产品的最终使用者,通常会参与软件开发与测试的整个过程,特别是需求分析阶段,用户起的作用是相当大的。

客户购买软件,客户一般并不是用户,用户关心的质量问题客户也关心,除了用户关心的五个方面,客户还关心以下因素:成本(购买成本,维护成本,升级成本,培训成本等等)、可支持性(补丁程序与升级版本)、可用性(是指系统实际在线,可由用户使用的工作时间比例)、可配置性(软件可定制的程度)。作为软件领导者,在进行软件项目或产品的开发过程中,不仅仅要考虑用户关心的问题,还要考虑客户关心的问题。

投资者是提供开发资金的个人和企业。投资者都希望得到投资回报,回报可以是利润或者是提高企业的生产效率,因此投资者所关心的问题有别于用户与客户,主要是:用户与客户对软件的可接受性,维护成本(它的增加会抵消掉利润),知识产权的价值。作为软件领导者,也需要从投资者的角度来思考问题,但我们往往十分关心开发成本,而对维修成本不太关心,一个软件刚做完的时候是赚钱的,大伙高兴得去挥霍庆祝,实际上,经过一两年的维护后,再去计算,就亏本得令人晕倒。

这世上应不存在完美无瑕的事物,软件也一样,不可能十全十美,作为软件人,我们可以追求完美,精益求精,但需要有一个底线,否则是自讨苦吃。那么,如何才能确保开发出高质量的软件产品呢?《软件领导》中列出了四点:

(1)      在整个开发过程中让用户代表参与到项目中。

我相信很多开发团队是可以做到这一点的,我参与的很多项目就是这样做的,用户会与我们讨论需求分析,体系结构,用户界面等等,到测试阶段,也让用户参与产品的测试工作,可以说,自始至终用户都参与了,但结果还是不理想,因为用户太多了,这个用户满意了,并不代表所有的用户都满意,而实际上我们不可能让所有的用户都参与,在软件终验时,苦命的软件人在不同的用户之间纠缠不清劳碌奔波,幻想有一日能有更好的方法解决这些问题。

(2)      在创造和维护系统体系结构方面进行投资。

软件质量是一个设计问题。在软件开发项目中,体系结构几乎是所有东西的基础。作为软件领导,必须理解系统的体系结构,必须让开发小组对合理的体系结构达成一致的意见,必须在体系结构的设计方面投入较大的精力与时间。

(3)      确定质量优先次序并与团队针对这些优先次序进行交流。

          这就如同MICROSOFT的软件,比如WINODWS,OFFICE等,都存在很多的BUG,但微软绝不会等到所有的BUG都解决了才发布与销售软件,这里面就涉及到质量优先次序的问题,怎么样等级的质量问题必须先解决了才能发布,怎么样等级的质量问题可以在发布之后去修打补丁,这也是软件领导所要慎重考虑的事情。

(4)      询问团队在体系结构中如何处理不同的方面,并一定要理解问题的答案并对这些答案感到满意。

这是交流沟通的问题,不同的开发团队具有自已的方式,一个体系结构的确定是需要经过反反复复的讨论与审查的。

软件领导在很大程度上决定软件的质量,软件领导在软件项目开发的过程中有着关键问题的决定权,而这些问题以及软件领导的判断往往决定着软件产品的质量,因此作为一名软件领导,必须透彻理解软件质量的方方面面,作任何决定之前,必须考虑所有产品利害关系人的不同需求。
转自:阿蒙(http://www.vchome.net)