别怪程序员——都是项目经理的错

别怪程序员——都是项目经理的错

现在有很多糟糕的软件。不可靠,不稳定,不安全,不可用。这些软件是如此糟糕,以致于有些人要求监管软件开发和限制专业软件开发人员为“软件工程师”,以便于软件工程师能够保持专业水准,避免因为疏忽或玩忽职守而被指责。 认可方式可以确保每个开发软件的人具备一定的知识和能力。但是,专业开发人员也不能保证良好的软件。即使是训练有素、经验丰富并全力以赴的开发人员,他们创建的软件,也不能保证都是良好的软件。这是因为大多数影响软件质量的决定,不是由开发人员下的——而是由企业中的其他人决定的。(比如这篇文章《软件开发项目失败的3个原因》提到的几个原因)

产品经理和产品负责人,项目经理和程序经理,执行发起人, CIO和CTO以及工程副总裁。这些人决定了什么是重要的事情,要做什么,不应该做什么,以及谁来做——哪些问题需要最优秀的人去解决,哪些工作可以外包以便于节约成本。决定雇佣和解雇的人,才是决定要花多少钱在培训和工具上面的人。 管理者——不是开发人员——决定了企业对质量的选择——哪里必须完美,哪里“差不多”就行。 管理误区 作为一个管理者,我在我的职业生涯中作过很多错误和糟糕的决策。不要求长期质量以降低成本。替团队签约却无法在最后期限前完成合同。让市场来掌控计划安排和优先事项,挤出更多的功能使客户和营销经理满意。不顾开发人员和测试人员告诉我的软件还没有准备好,以及没有足够的时间让他们做好事情。不管技术负债的增加。坚持现在或永远不交付,但是后来莫名其妙地就搞定了。 我从这些错误中吸取了经验教训。我觉得现在我知道构建良好的软件需要什么了。我会坚持这些理念。但是,我时常看到其他管理人员犯着与我相同的错误。即使是世界上最大和最成功的科技公司——微软和苹果也不例外。 这些巨鳄能够掌控潮流的走向。他们能够决定他们要创建什么,以及什么时候发布。他们有世界上最棒的工程天才。他们拥有所有钱可以买得到的好工具——并且如果他们需要更好的工具,他们可以为自己写出来。他们知道如何正确地做事情,他们有资金有规模,足以完成一个个挑战。 他们应该写出漂亮的软件。使用他们的软件时候应该是让人愉快的。但现实中却并非如此。而这不是工程师的错。 微软质量 微软的软件质量问题由于存在的时间长,以致于“微软质量”已成为一个公认的术语,意味着“差强人意”的软件,可以勉强被接受——虽然有时软件并不那么好。 即使在微软成为占全球主导地位的供应商后,质量仍然是一个问题。《Computer World》于2014年发表了一篇名为《At Microsoft, quality seems to be job none》的文章,抱怨Windows 10的早期版本有严重的质量和可靠性问题。Windows 10原本被认为代表了微软在其新的CEO的执掌下发生的一个翻天覆地的变化,是一个弥补过去错误,把事情做好的机会。那么为什么还是会出现问题呢? 由于一直以来推崇的“差不多”的软件文化和传统,微软似乎被困住了,无法改善这种情况,即使他们已经认识到,“差不多”的理念已经不适合这个时代了。这是一个深层次的企业和文化问题。是管理的问题。而不是工程师的问题。 苹果的软件质量问题 苹果和微软专注的技术领域不同,主要依赖设计和工程的卓越性赚钱。但是,如果说到软件,苹果也不比微软好。 从苹果地图,到iTunes和App Store不断涌现的问题,更新iOS安装失败的问题,iCloud数据丢失,严重的安全漏洞,没有任何意义的错误消息,莫名其妙限制使用的问题,苹果软件在很多基础的地方以一种尴尬的方式令人失望。 和微软相同,苹果的管理层似乎也陷入迷途中: 我担心苹果的领导层并没有认识到软件缺陷使得声誉受损的严重性,因为如果他们意识到的话,他们必然会做出重大改变以避免这种情况的发生。然而现在并没有,相反的,多个产品线的更新步伐似乎是正在扩大和加速。 我怀疑苹果软件的快速下滑,是一个表明现在的苹果将市场的优先地位摆得过高的信号:每年都发布一个重要的新版本,显然对于工程团队来说既要跟上速度,同时又保持品质是不可能的。也许你认为这是工程问题,但我怀疑不是——我怀疑没有任何一个工程团队能够在保证时间的同时,维持一个明显又更高的质量。 Marco Arment,《Apple has lost the functional high ground》,2015年1月4日 在今年的WWDC上,最新的公告显示,苹果正在提供更多的时间,以确保他们的软件质量。我们期待这或许是一个迹象,一个表明管理层已经开始理解质量和可靠性是多么重要的迹象。 管理人员:请不要重蹈覆辙 如果像微软和苹果这样的超级公司,有着这么多的人才和资金,依然不能创建出高质量的软件,那么我们这些小虾米又怎么能办到呢?很简单。不要再犯同样的错误:

  1. 将产品推向市场的速度和成本摆在其他任何事情的首位。督促团队像敢死队一样在期限前完成任务。喊着冲刺的口号:要求速度,不给团队正确做事的时间,也不给他们停下来反思和改善的机会。我们虽然得在期限和预算内开展工作,但在大多数情况下,企业还是有余地的。敏捷方法和增量交付提供了一条当你很难谈判最后期限或成本时的出路。如果你不能说不,那么你可以说“还不行”。铁面无私地安排优先工作,确保你尽可能快地发布重要的事情。并且由于这些事情的重要性,所以一定要确保做得正确。
  2. 从头到尾拒绝测试。这意味着结束之后,依然会残留没有修复的bug。也意味着交付延迟,因为bug太多。训练有素的敏捷实践依赖于测试——和修复——在你的编码过程中。 TDD甚至会强迫你在写代码之前测试。持续集成可以确保每次检查的时候代码都能工作。也就是说不让bug有任何可趁之机。
  3. 不与客户交流,也不早点测试点子。不去了解为什么他们需要软件,他们如何使用软件,他们喜欢软件哪里,哪里又是他们所讨厌的地方。递增式地发布,并获取反馈。按照反馈行事,并改进软件。循环往复。
  4. 忽略基本又良好的工程实践。装得好像你的团队不需要做这些事情,或没有能力和时间来做这些事一样,即使我们很早以前就知道正确地做事有助于更快地发布更好的软件。作为项目经理或产品所有者或企业老板,虽然你不需要成为软件工程方面的专家,但是如果你不能深入了解软件是如何构建的以及软件应该如何被构建这些基本原理,那么就作不出明智的权衡决策。关于如何才能做好软件开发的资讯很多,你没有理由不好好学习。
  5. 忽略警告标记。倾听开发人员的建议,当他们告诉你什么不能做,什么不应该做,或必须做什么事情的时候。开发人员一般都不太愿意和人扯淡。所以,当他们告诉你,他们不会做某件事,或者不应该做某件事的时候,一定要注意。

当你犯错误的时候——别否认,你一定会犯错误,要从中吸取经验教训,不要浪费这个学习的机会。当出错的时候,让团队来审查以搞清楚出了什么问题,为什么,以及如何可以做得更好。从纠错审查和测试中学习。认真对待客户的负面反馈。这是很重要的信息。所以要重视。 作为一个管理者,你能做的最重要的事情是不要带领你的团队走向失败。这要求并不过分,并且也不需要你做太多。

原文发布于微信公众号 - Java学习网(javalearns)

原文发表时间:2015-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

兰斯:IBM引入到云环境 消费范围可扩大至全球

据IDG新闻服务称,美国国际商用机器公司(IBM)迅速地将由近期收购的Softlayer 全球云端服务投入使用。IBM正在将大部分软件以及所有的现存平台服务转向...

35140
来自专栏数据和云

新年寄语 | 2018 以及 Oracle 18c 一个时代的开启

2018 年,对于数据库领域也将是重要的一年,Oracle 全新的 18c 版本将很快发布,而我认为,这将标志着一个时代的终结,同样是一个新时代的开启。 20...

503100
来自专栏小程序

小程序:我是谁不重要,重要的是,我能帮你赚钱!

互联网的新事物每天都在产生,8年前,微博一夜之间红透半边天,4年前,微信公众号迅速走进大众的视野。这些新事物的出现,毫无疑问使得一大批人获取了红利,现在微信推出...

42660
来自专栏程序员互动联盟

为什么女程序员会这么少?

自己的亲身经历,身边就有过一两个女程序员。那么为什么那么少呢?看看她们是怎么说的吧。 当我们感觉自己很擅长一件事的时候,才会真正地去学习它,花费大量的时间和精力...

38280
来自专栏知晓程序

微信放大招!再也不用担心员工离职流失企业资源了

14810
来自专栏BestSDK

2018,云计算的7个发展趋势

1. 云安全   在2017年,人们经历了比以往更多的网络攻击。美国中央情报局遭遇Vault 7黑客攻击,WannaCry勒索软件爆发,以及Equi...

52730
来自专栏人称T客

Dreamforce2016|收购quip后,Salesforce整个文档数据,攻克AI

作者:T客汇 窦悦怡 关键词:收购,Quip,Salesforce 网站:www.tikehui.com “今年最关键的就是Einstein,”Salesfor...

52580
来自专栏量子位

亚马逊Alexa再次抽风,莫名其妙把私人对话发给同事

两周前的一个晚上,俄勒冈波特兰一名女士Danielle接到她老公同事的电话,提醒他们赶紧关掉亚马逊音箱Echo。

11040
来自专栏LiveEdu在线科技教育平台

10个值得推荐的学习编程的网站

世界已经进入了互联网的时代。据最近发布的一篇《2016年互联网趋势》报告显示,中国已成为互联网市场的领导者,中国互联网用户的数量达到了6.68亿。可以预见,有着...

490130
来自专栏云计算D1net

反面教材:别让这三种做法毁了你的云部署

如果大家希望自己的云部署方案能够切实起效,请务必规避以下三种常见错误。绝大多数企业实际上并不具备有效发挥私有或者公有云资源优势的必要经验或者人才储备,因此整个实...

39790

扫码关注云+社区

领取腾讯云代金券