很久很久以前,在一个很远很远的地方,(围绕着及时编译展开的讨论)推出了一项声明,声明称项目的成功率与参与项目的人数成反比。尽管此声明的发布带有部分玩笑的成分,但还是开辟了一个新的话题,一个有关哪些因素导致软件项目成功或失败的话题。
由于我们当中没有几个人不希望成功,该话题引发了一系列的思考:
决定“好”的软件项目的因素有哪些?乍看之下,“我看到就会知道”这句话似乎管用;一个人在没有客观数据的情况下通常看着项目就可以评估出项目的成功程度。
问题是“成功”作为一个术语并没有具体的含义;一个项目对于某一个人来说也许是无比成功,在另一个人眼中却有可能是悲惨失败。这几乎完全取决于观察者的角度和目标。
然而,如果说“项目成功”有一个普遍含义的话,那应该有可能枚举出令项目成功的质量特性,并能衡量出项目提供这些质量特性的好坏程度。
Red Hat的开源及标准小组,这群才华横溢、专注于帮助Red Hat所依赖的开源团体的人(也包括谦逊的作者本人在内)采用了开源的理念去帮助所有项目取得成功,部分是通过记录撰稿人所看到的令项目平滑良好运转的要素来达到的。
尽管没有东西可以取代花时间阅读并参与到The Open Source Way中去,考虑以下一些东西仍有助于定义和理解项目成功。
某人的办法
在开始讨论项目成功的话题之前,有一个勇敢的人建议说成功有3个因素:
- 做项目的人
- 给的钱多少
- 提交者的欠债
初看之下,这些因素似乎相当草率,但其背后是有理由的,尤其是当这些术语定义或概述得更好时。
做项目的人需要具备特殊的性格和才智,执行的是某种程度的英才教育。无论做的是什么,项目领域都有可能是有趣、定义明确、范围界定且知名的,但如果没有强力和多才的贡献者,项目的成功就存疑。
也要考虑满意的因素。被称为是本清单中的“金钱”多少是有点不公平的;有的项目虽然未必牵涉到金钱的流动但也非常成功。因此,“满意”是一个更好的说法。
当然,有的人感到满意纯粹是因为钱。但有的则将荣誉视为值得的报酬,而有的人却是出于利他的目的而做项目—在开源界这是很常见的事情,结果表明,哪怕是物质奖励也有可能位列支持合同或其他此类服务的最后。
债务指的是满意需求的程度,尽管这是一个金融化的术语,但也是一种恰当的引用。如果John想要为自己的未婚妻购买一枚戒指,John要想成功做成某事的积极性肯定很高,在此其成功的衡量标准是最终他是否能付得起想买给未婚妻戒指的钱。
成功需求更为完整的清单有可能包括三个领域:项目的问题空间,项目的社区,以及项目本身的一些细节。其大致分解可能是这样的:
问题域
- 宗旨
- 可视性
- 解决方案的适当性
- 普及度
社区关心的事
- 质量
- 个人崇拜
- 支持向量
项目细节
- 易用性
- 源语言
- 许可
- 版本数
也就是说,得考虑好每一个因素如何与你相关的软件项目是如何相处好的;这些术语对你意味着什么?按照你自己的定义,如果有的话项目如何处理这些问题?有没有经过深思熟虑,还是说“恰好就”取得进展了?
这里没有正确的答案—软件项目因盲目陷入工作和成功的软件模型中而跌跌撞撞,尽管经过了精心规划项目还是失败了。考虑这些东西是值得的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
翻译
相关推荐
-
华为软件开发云平台:“一多二全三高”能否满足企业的需求?
在2017年3月22日,华为青岛软件开发云上线大会上,华为也表示,中国的软件与信息服务业,2016年总收入达到4.9万亿,软件从业人员是570万。
-
成为Java开发禅师的7个技巧
在旧金山举行的JavaOne 2015上,Martijn Verburg抛开了他Diabolical Developer(魔鬼开发者)的身份,以禅师的面目出现,用比喻的方式向Java开发者介绍了相关的注意事项。
-
软件开发者:适应性决定你的前途
作为有15年经验的软件工程师的Bernard Mesa,加入了TCI,担当据库管理员和中间件工程师的职位,角色转变,对于Bernard Mesa是好是坏?
-
敏捷技术不仅仅应用于软件开发
如果有能够衡量敏捷是否成功的终极因素,那就是敏捷方式持续改进软件开发的外围系统。