UML软件工程组织 |
Java 建模:子整体软件开发 |
出处 (IBM DW)大砍刀 |
在我早期专栏的结论中,我曾许诺此专栏将会专 门讨论灵活开发过程中需求收集的各种方法。然而,当我开始着手那个专栏时,我意识到可能值得从灵活软件开发这个较大的讨论开始。但当我开始着手那个主题时,我发现自己渴望去讨论子整体软件 开发这个相关主题。 这并不奇怪,因为我相信子整体软件开发是灵活软件开发的下一步。我对此十分雀跃,我选择改变
我的路线,并且引入我非常独特的子整体软件开发宣言。我们将在下一次返回需求收集这个主题。 灵活软件开发 个人和交互优于过程和工具 实际上,这些价值标志着对那些受传统软件开发方法支持东西的背离。最高目的在于创建一个更有 益于成功的软件开发环境。的确,灵活运动在软件开发的历史上留下了自己的印记。然而,虽然灵活运动具有革命性,但它毕竟只是更复杂更有益的开发实践的第一步。 子整体软件开发才是下一步。 过程是第一位吗? 效率的追随和系统第一或者说过程第一原则是现在我们称为质量管理的两个基本组成部分。 质量管理就是研究和实现那些正确的实现就会提高质量的活动。关键词是正确的实现。这些词组成了质量管理的安全港湾式表述。可以肯定的说如果您的业务、制造或工程实践不能提高质量,您 就没有正确的实现它们。 虽然我不相信软件开发中存在质量管理危机,但我的确看到了失败正在我们的行业中产生。这些失
败往往是过程和技术造成的,理由在于过程没有被正确实现或技术不成熟。不过我觉得把失败归咎于 人是任何软件开发项目的第一位要素。任何好的第一线管理员知道他或她的小组成员是项目首要和
最有用的资产。一个永远不会被取代的软件开发准则是优秀的人编制优秀的软件。不过,如果这样的 子整体(holon) 一个维持自身独立性、同时又作为整体的部分发挥作用的实体称为子整体(holon)。
这个术语是 Arthur Koestler 事实是,在开发软件时,我们继续遵循了
Frederick Winslow Taylor 的思想。时间和动作的研究提出了学术上软件工程周期的令人惊异的规律。然而,软件开发, 对于软件开发,我们继承了工业时代诞生的思想 — 死守着基于制造业的装配线生产的思路和环境 。在这个环境中,个人是成不了气候的。 他没有授权制造变革,也因此在要求变革的生命周期(软件开发周期)失败时,不该归咎于他。或许,是时候停止把过程和技术作为第一位要素了,让真正的第一位要素 — 人 — 作为中心。 子整体软件开发 如果您是个优秀的开发者、建模者或管理员,您该知道我的意思。您曾面对多种技巧,然后例行公 事的选出一种用于工作的最好的技巧。您在危机中调整并设法找出一种解决方案。您使子整体具体化。您需要一个在任何给定时刻指定您接着该做什么的软件开发过程吗?根本不需要。 真正的子整体软件开发组织承认不同的人有不同的思维方式。有些人的思维方式是抽象的、其他人
是具体的;有些人是战略上的计划者,其他人则以行动为取向。子整体组织使用的技术使人们在选择 培训模型 有效战斗训练的一半是提供士兵一个可供选择的战役战术库。另一半涉及到教它们随着训练创造出 自己的战术。 同样,我要郑重宣布软件开发者有效教育的一半在于知识和技能的获得。另一半在于学习对变化进行处理、在不断变化的领域中快速前进。简言之,去革新。 没有安全网的软件开发 补充活动 没有了补充活动,第二位要素如过程和技术成为我们唯一的安全网;如果我们陷入困境,我们可以
归咎于它们。因为大多数软件开发过程最多只有两维,或许这种归咎是它们应得的。的确,除了给我们控制的感觉,过程再无其它用途,它是一张虚假的安全网。
过程?什么过程? 在另一方面,如果您没有在适应,您就不会尝试做事情的新方法。如果您不尝试新的东西,您就不 会学习、发展并成为最优秀的。这是个不断探索的过程,我们中没有哪一个人有可能在任何时候立刻完成。 即使您选择了已建立过程的安全网,您也不一定在完全的遵循它。除非小组的每个人的想法相同才 不会这样。如果您的确找到了小组中每个人都觉得最佳并适用于您所从事的所有项目的终极过程,请发送给我。然而,我并不期待收到许多满足上述条件的过程,因为 Jacobson 定律表明这种过程不存 在。我相信即使在高度团结的小组中,也没有哪个过程会适合每个人的思考方式。我们之间存在着太多的差异。 结论 本文不是一篇定义,而是宣言。其中提出了一种较好的交付使用软件系统方法的见解,此方法利用 许多灵活过程中定义的活动。同样,我考虑了软件开发的最佳准则和作为开发期间纠正错误方法的紧迫的补充活动。 我们将在下一专栏继续讨论这个主题,其中我们会返回已许诺的关于用例、功能和用户情景的讨论 。我将向您展示如何让这些元素成为您子整体软件开发工具箱的一部分,并且还将描述这些元素如何支持一种前载的、平衡的或后载的编制软件方法。请别离开。
|
版权所有:UML软件工程组织 |