模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Mike Bria 译者 金毅 发布于 2009年11月8日 上午6时21分
关于一个敏捷程序员需要什么技能,或者一个公司想要成功地实施敏捷必须采用哪些实践,还是有很多争论的。但是虽然其重要性不可否认,这真的就是敏捷成功的核心所在吗?Mark Schumann建议敏捷的“一个基本要素”并不是基础级的敏捷技巧,而是管理层的敏捷定见。
Schumman通过强调结对、TDD和站立会议这些敏捷实践背后的本质来介绍他的观点:
结对很重要,但是你能开心于每天被纠正几十次更重要。测试驱动开发很有用,但是去设想一百多种让测试通不过的场景更有用。站立会议可能很有效,但是同事的信任解放了你去做自己的事情,才让会议真正有效。
随后他把“纠正、设想和信任”联系起来,提升到了一个新的层次,并且解释了这真正的基本组成部分如何不仅在团队中、也在管理层中发生:
抛开陈词滥调,敏捷真的是一种态度或者一种定见。而且我觉得它应该自上而下展开。
我不知道是不是有一个单独的词汇来命名它,但中高级管理层中必须具备这样一种态度,承认他们不是什么都懂、有些事情无法控制、意外情况总会出现。你必须信任你的团队,甚至在他们没有交付你所期望的结果之时。你必须设想不止一种可能的结果。你必须得体而容易地接受对你第一印象的修正。
Schummann事实上找到了这个一开始没想到的名词,从而以此完善了他的思想:“成功敏捷开发起源于谦恭(humility)的文化”。
他继续总结了他关于谦恭是敏捷的“一个基本要素”的观点,解释了用信任、设想和接受改正来进行管理意味着什么:
信任意味着你不得不放弃控制,放弃很多。
设想意味着你将少了很多确定性。
改正意味着你不得不承认从来就没有完美这回事。
...成功运用敏捷软件开发——或者任何其他种类的敏捷——的公司,都是那些能处理好失去控制、确定性以及完美保证的公司。
有时间可以去读一下Schumman的博文,来了解他的整个思想以及那个有意思的呆伯特(Dilbert)的故事。
查看英文原文:Agile's "One Essential Ingredient"
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
1 条回复
关注此讨论 回复