本书是一本既包括权威人士的商业观点又包括软件架构的技术观点的书。本书作者抓住了产品创建的本质,他巧妙地讨论了产品创建时市场和工程人员所扮演的角色,并通过两者的结合来建立理解和实现成功产品的良好基础。它不仅仅是写给软件工程专业人员的,同时也为那些要对公司的软件开发做出深层决策的经理主管人员和产品经理们提供了必要的知识背景。
架构在软件行业里变得非常含糊,很难给出明确的定义。我把它作为一个非常主观的用语一是当人们描述他们的软件架构时,介绍系统的重要部分,这些部分如何互相磨合,以及在设计系统时如何做出重要决定的一个主观用语。架构也被视为一种技术问题,这意味着需要做出的重要决定都是技术性的决定。 过去几年,在我跟Luke的谈话中,得到这样一个有趣的事实:就是他所讨论的架构问题,往往是大部分关于架构的讨论中被忽略掉——而实际上是很重要的问题。这些问题包括:系统的市场问题、许可条款、商标、部署、记账。所有这些问题都具有技术和商业上的双重含义。高级技术人员需要思考这些问题,否则一个技术良好的系统会因为缺乏正确的商业决策而失败。 对于大多数把软件卖给其他人的销售商来说这些诸多问题构成了威胁。即便你是一个内部信息系统的架构师,这些问题的存在也会导致你的失败。与供应商签署的许可协议可能造成你布署软件的成本的巨大差异,如果你的业务部门决定引入Charge—back模式,那么记账就会尤为重要,同时商标也会影响公司业务的发展。 Luke从软件开发的技术和商业两方面来编写此书。我发现这很吸引人,因为它引领Luke考虑人们经常不会谈及的问题。Luke向读者展示的总是那些你认为不需要担心但却将你伤害得最深的问题,并给出了处理这些问题的建议。因此,这是一本在软件设计的技术方面非常值得称赞的书。 Martin Fowler 丛书编辑 首先,你必须明白软件编写是门艺术,而不单单是一门科学。我为何要为这样一本集中在具体细节而不是创新技术的书籍写序呢? 不要高估艺术和软件的创造过程。静心地坐在一把舒适的椅子上,让软件的灵感穿越心灵,成千上万优雅的代码行毫不费力地从头脑中溢出。如果你创建过软件,那么你知道这是不现实的。 艺术创作很难,调试(debug)就更难。这是一本增加你和你的团队艺术修养的书籍。它是关于原则、团队合作、汗水和灵感的作品。我期待你读完本书之后可以创造出改变这个世界的艺术——那就是软件。 Guy Kawasaki Garage Technology Ventures的CE0