<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gojko Adzic &#187; book reviews</title>
	<atom:link href="http://gojko.net/category/book-reviews/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net</link>
	<description>Building software that matters</description>
	<lastBuildDate>Thu, 18 Mar 2010 20:20:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Building software that matters: two books you absolutely have to read</title>
		<link>http://gojko.net/2010/01/18/building-software-that-matters-two-books-you-absolutely-have-to-read/</link>
		<comments>http://gojko.net/2010/01/18/building-software-that-matters-two-books-you-absolutely-have-to-read/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 11:20:17 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[book reviews]]></category>
		<category><![CDATA[bsm]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1570</guid>
		<description><![CDATA[I recently came across two books that fit the Building software that matters theme perfectly, and deserve to be read by anyone managing a software project, running a development team or generally serious about delivering software. Both books tackle topics so difficult that development teams often just push the responsibility for them to the customer, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came across two books that fit the <a href="/tag/bsm">Building software that matters</a> theme perfectly, and deserve to be read by anyone managing a software project, running a development team or generally serious about delivering software. Both books tackle topics so difficult that development teams often just <a href="http://gojko.net/2009/10/01/the-mythical-customer-problem/">push the responsibility for them to the customer, expecting some kind of magical resolution</a>. <span id="more-1570"></span></p>
<blockquote><p>Developers prefer to talk in terms of value generation without developing related revenue projections. Business stakeholders usually don&#8217;t realize that delivery sequences and architectural options have a significant impact on project level ROI. Clearly, software development requires a more financially responsible approach […]. This situation clearly calls for a close collaboration between developers and business stakeholders.</p></blockquote>
<p>The previous paragraph pretty much sums up the basic idea of <a href="http://www.amazon.com/gp/product/0131407287?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0131407287">Software by Numbers: Low-Risk, High-Return Development</a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0131407287" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Mark Denne and Jane Cleland-Huang. Iterative delivery and fast roll-out to production makes perfect sense and I do not think that anyone can doubt that, but can you actually put a value on it? Can you compare two alternative delivery plans for the same project? Denne and Cleland-Huang set to do exactly that. By developing a financial model to evaluate and compare delivery plans, the authors show how to make an informed decision about prioritisation on a project so that it maximises the desired financial effect, either reducing risk, optimising cash-flow or return on investment. </p>
<p>Denne and Cleland-Huang explain how to identify and evaluate the financial impact of Minimum Marketable Features, including “intanglibles” such as brand value or customer retention. Then they develop a system of heuristics that combines this information with technical and architectural constraints, prerequisites and timing constraints to come up with the best possible delivery plan, depending on what you want to achieve. Through several case studies, they show how just choosing the next most important thing isn&#8217;t as nearly as effective as considering the financial impact of the entire delivery plan. Somewhere in the middle, they also come up with a way to estimate the financial impact of the project by forces other than black magic which helps us answer a key question: should we do this at all or should we do something else?</p>
<p><a href="http://www.amazon.com/gp/product/8763001764?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=8763001764">Effect Managing It</a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=8763001764" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, by Mijo Balic and Ingrid Ottersten, deals with things that happen even earlier in the process – coming up with a list of features to achieve the desired business effect. Instead of focusing on functionality, Balic and Ottersten look at software projects as agents of business transformation. The authors argue that the ultimate goal of software projects is to achieve a business change, and that one of the key reasons for failure of so many projects is that the focus is often on the wrong things. They explain a model of structuring requirements analysis in a way that ensures achieving the desired business effect. That focus on business impact, not functionality or technology, is what they call “Effect Managing”. </p>
<p>Effect Managing shares many key ideas with behaviour-driven development and agile acceptance testing, but deals with things that are much earlier in the development cycle.  Balic and Ottersten base their model on first considering who can deliver the desired change (stakeholders in the BDD lingo), then thinking about how these people can deliver it and what the software needs to do to support that that. Organising all these ideas in a hierarchy which they call an “Effect Map”,  this model provides visibility similar to the <a href="gojko.net/2006/10/22/magic-of-goals/">Goals-Features-Requirements</a> model, but in my opinion much more effective because it is visual. After trying out effect maps on two projects, I&#8217;m astonished how they open up a discussion and provide structure to the process of selecting the features for a project and probably equally important throwing away features that are less important. </p>
<p>Be warned, though, that both books are relatively hard to read. Although they are short, less than 200 pages each, the flow of ideas in both books is a bit hard to follow. Effect Managing IT at times reads like a literal translation (from what I understand, the original book was written in Swedish) and Software by Numbers is full of financial tables and formulas. Nevertheless, I think that both books have such great value that getting through them is well worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2010/01/18/building-software-that-matters-two-books-you-absolutely-have-to-read/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dark arts of TDD explained</title>
		<link>http://gojko.net/2009/11/20/dark-arts-of-tdd-explained/</link>
		<comments>http://gojko.net/2009/11/20/dark-arts-of-tdd-explained/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 09:58:49 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[book reviews]]></category>
		<category><![CDATA[mock]]></category>
		<category><![CDATA[mocking]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=1396</guid>
		<description><![CDATA[Growing Object Oriented Software, Guided by Tests, by Steve Freeman and Nat Pryce is a TDD book, but unlike any other on the market today. First of all, the book deals mostly with advanced unit testing topics, such as designing tests for readability and mocking, and addresses many common stumbling points that people experience with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0321503627?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321503627"><img align="left" border="0" src="/images/51fQ0%2B5W%2BkL._SL160_.jpg" style="margin:5px 5px 5px 5px"/></a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0321503627" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><a href="http://www.amazon.com/gp/product/0321503627?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321503627">Growing Object Oriented Software, Guided by Tests</a>, by <a href="http://www.m3p.co.uk/blog">Steve Freeman</a> and <a href="http://www.natpryce.com/">Nat Pryce</a> is a TDD book, but unlike any other on the market today. First of all, the book deals mostly with advanced unit testing topics, such as designing tests for readability and mocking, and addresses many common stumbling points that people experience with unit testing a few years after they started their journey, such as applying unit testing in multi-threaded and asynchronous environments. Second, it explains and demonstrates in practice the dynamics of designing software through TDD, which is still a dark art for many programmers. And third, it gives the reader insight into Freeman&#8217;s and Pryce&#8217;s brains, which is why this book is a must-read for anyone serious about unit testing, even to people that have been doing it in the last century. <span id="more-1396"></span></p>
<p>Given the authors&#8217; backgrounds, it&#8217;s not surprising that this book has a lot to say about using mock object libraries. Mock objects are arguably the most misunderstood and misused concept in software development today, so this book should be a valuable resource for most software development teams. In the part dealing with mock objects you will find strategies for using them successfully for software design, guidelines what to mock and what not to mock and lots of examples how all that looks in code.</p>
<p>The book isn&#8217;t written in the usual imperative way (“you should use this because of&#8230;”) but reads much more as an experience report (“we use this because of”). This might be unusual at first but I really like it, as it puts the things into a much more different perspective. Many of the topics addressed by this book are quite controversial and the authors have wisely chosen the voice to avoid any notion of preaching. I found myself disagreeing with parts, especially around bundling acceptance and end-to-end testing together. However, as the material doesn&#8217;t preach but tell what the authors are thinking about, this did not bother me at all.</p>
<p>All in all, an excellent book. <a href="http://www.amazon.com/gp/product/0321503627?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321503627">Grab a copy from Amazon now.</a></p>
<p>Here are some related links: </p>
<ul>
<li><a href="http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/">notes from Steve Freeman&#8217;s presentation on mock objects at CITCON Europe 09</a></li>
<li><a href="http://www.growing-object-oriented-software.com/">book web site</a></li>
<li><a href="http://www.m3p.co.uk/blog">Steve Freeman&#8217;s blog</a></li>
<li><a href="http://www.natpryce.com/">Nat Pryce&#8217;s blog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/11/20/dark-arts-of-tdd-explained/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Testing (Crispin/Gregory) is a great book, long overdue</title>
		<link>http://gojko.net/2009/02/23/agile-testing-crispingregory-is-a-great-book-long-overdue/</link>
		<comments>http://gojko.net/2009/02/23/agile-testing-crispingregory-is-a-great-book-long-overdue/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 14:28:33 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[book reviews]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[qa]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=695</guid>
		<description><![CDATA[ It has been a while since I published a book review on this blog, not because I stopped reading but because none of the books that I read meanwhile really stood out. I&#8217;m glad to say that Agile Testing by Lisa Crispin and Janet Gregory finally breaks that trend – it is truly a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://ecx.images-amazon.com/images/I/51oB%2BtnQwxL._SL500_AA240_.jpg" style="margin:5px 5px 5px 5px;" align="left"/> It has been a while since I published a book review on this blog, not because I stopped reading but because none of the books that I read meanwhile really stood out. I&#8217;m glad to say that Agile Testing by Lisa Crispin and Janet Gregory finally breaks that trend – it is truly a great book and definitely a must read for anyone serious about quality in agile projects. <span id="more-695"></span></p>
<p>The main theme of this book is fitting testing tasks into agile projects, and as such this book really is long overdue. Most agile books are written by programmers for programmers, leaving testers in particular to fend for themselves. No wonder why so many of them feel lost in this world. This book definitely delivers on the promise to ease the transition for testers and QA engineers who suddenly found themselves on an agile project. It has a testing focus and presents things in a way that testers, coming from more traditional process oriented software projects, should understand. The key pillars of practice on which the content of this book stands are improved communication, the whole team approach, agile testing quadrants and automation, so the book efficiently points traditional testers to new knowledge and ideas that they need to focus on to contribute to an agile project. It also provides a solid framework for executing traditional testing tasks in an agile environment without lagging behind the development and causing the project to fall into the “mini-waterfall” trap.</p>
<p>I would also recommend it to project managers and team leaders as they will be able to see the project from the testers&#8217; eyes and complement their knowledge about quality on agile projects. As such, it is especially an important reading for teams that consider JUnit the extent of their “testing” process. The book raises valid concerns about commonly overlooked tasks such as test planning, security, performance and usability testing, documentation testing and provides some very practical advice how to plan and execute exploratory testing efficiently.  </p>
<p>The book is around 500 pages long, which is twice the threshold for the books I typically like to read, so it is quite heavy and not easy to carry around and read while you are on your way to work &#8211; which is a real shame. Nevertheless, it reads very easily and justifies the thickness with lots of interesting content throughout the book, staying away from any abstract academic discussions. The book is filled with practical advice and experience reports from real world projects and stories from various teams, which I found particularly interesting. For me, the key take-away is probably chapter 12, which provides a testers view at a realistic project from start to end, including tools and strategies used from the requirements to the delivery. It was really interesting to read a different take on the subjects that I often write about, especially the specification workshops (the authors call them “power of three”). </p>
<p>Pick up the book now from <a href="http://www.amazon.com/Agile-Testing-Practical-Addison-Wesley-Signature/dp/0321534468">Amazon.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2009/02/23/agile-testing-crispingregory-is-a-great-book-long-overdue/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programming Collective Intelligence</title>
		<link>http://gojko.net/2008/06/09/programming-collective-intelligence/</link>
		<comments>http://gojko.net/2008/06/09/programming-collective-intelligence/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 00:21:45 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[book reviews]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://gojko.net/?p=134</guid>
		<description><![CDATA[It has been a while since I published a book review on this web site. I have read a lot of books in the mean time, but none of them seemed worth to recommend. Programming Collective Intelligence by Toby Segaran not only captured my attention, it also captured my imagination.
The subtitle of the book probably [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.amazon.com/gp/product/0596529325?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596529325"><img align="left" style="margin:5px 5px 5px 5px; border:1px solid black" src="/images/514kM3WcPYL._SL160_.jpg"/></a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0596529325" width="1" height="1" border="0"  alt="" style="border:none !important; margin:0px !important;" />It has been a while since I published a book review on this web site. I have read a lot of books in the mean time, but none of them seemed worth to recommend. <a target="_blank"  href="http://www.amazon.com/gp/product/0596529325?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596529325">Programming Collective Intelligence</a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0596529325" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by <a href='http://blog.kiwitobes.com/' target="_blank">Toby Segaran</a> not only captured my attention, it also captured my imagination.<br clear="all"/><span id="more-134"></span></p>
<p>The subtitle of the book probably describes the content a lot better: “building smart web 2.0 applications”. This book gives an overview of the algorithms that power many of the most popular web 2.0 sites today, providing features such as search engine page ranking, recommending products, spam prevention, match-making, identifying related topics and collaborative filtering. Solutions for those problems involve crunching huge data sets and utilising smart and elegant algorithms. As someone coming from a Math background, I really enjoyed reading a book about smart algorithms for a change. If you like that sort of stuff, this book has plenty to offer: clustering, genetic algorithms, non-deterministic optimisation, Bayesian filtering, support-vector machines and even programs that automatically create other programs to facilitate learning in games AI. If you are not a Math geek, don&#8217;t worry. This book is written from a developer perspective and all advanced Math used in the algorithms is explained in enough detail for an average programmer to be able to follow.</p>
<p>All the examples in this book are written in Python. I am an occasional Python user, so an additional bonus for me was learning about several open-source Python extensions that Toby used to complete the tasks, including stuff for graph plotting, xml parsing and matrix operations. I guess that knowing Python is a prerequisite to read the book effectively, but understanding just the basics should be good enough as the focus is more on the algorithms and how to apply them effectively than on actual code. </p>
<p>The book has about 350 pages from cover to cover so it is fairly easy to read on a bus or train. I strongly recommend it to Math geeks and data crunchers, but it should also appeal to the broader programming community, especially with its focus on forces behind popular web 2.0 sites.</p>
<p>Here are the details if you want to grab a copy:</p>
<p>ISBN: 978-0-596-52932-1<br />
Publisher: O&#8217;Reilly<br />
Author: Toby Segaran<br />
Full title: Programming Collective Intelligence: Building Smart Web 2.0 Applications<br />
<a target="_blank" href="http://www.amazon.com/gp/product/0596529325?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596529325">Listing on Amazon.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2008/06/09/programming-collective-intelligence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Inmates Are Running the Asylum</title>
		<link>http://gojko.net/2007/01/18/the-inmates-are-running-the-asylum/</link>
		<comments>http://gojko.net/2007/01/18/the-inmates-are-running-the-asylum/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 23:30:07 +0000</pubDate>
		<dc:creator>gojko</dc:creator>
				<category><![CDATA[book reviews]]></category>

		<guid isPermaLink="false">http://gojko.net/2007/01/18/the-inmates-are-running-the-asylum/</guid>
		<description><![CDATA[Why High Tech Products Drive Us Crazy and How to Restore the Sanity
The central theme of this book is how the IT industry resembles an asylum taken over by inmates &#8211; with software products completely missing the goals of their customers due to a combination of programmer psychology and sales-driven feature explosion. Alan Cooper argues [...]]]></description>
			<content:encoded><![CDATA[<p><i>Why High Tech Products Drive Us Crazy and How to Restore the Sanity</i></p>
<p><a onClick="javascript:urchinTracker('/books/asylum');"  target="_blank" href="http://www.amazon.com/gp/product/0672326140?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0672326140"><img align="left" border="0" style="margin:5px 5px 5px 5px" src="/images/0672326140.01._AA_SCMZZZZZZZ_V47996260_.jpg"/></a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0672326140" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />The central theme of this book is how the IT industry resembles an asylum taken over by inmates &#8211; with software products completely missing the goals of their customers due to a combination of programmer psychology and sales-driven feature explosion. Alan Cooper argues that programmers drive the development process using their own image as a guideline, and overloading the software with features which require expert knowledge. On the other hand, sales and marketing push for features that can be used by beginners in order to expand the customer base. Most of the software users are, according to Cooper, &#8216;perpetual intermediaries&#8217;, so their needs are not addressed at all. Cooper advocates fighting back against this unnecessary complexity and refusing to give in to the mass craziness. His proposed solution is interaction design, a relatively new design practice focused on improving the way users access software. <span id="more-28"></span></p>
<p>I found the first part of this book especially interesting, as Cooper prepares the arguments for interaction design by taking a look at programmer psychology, and trying to explain the root causes of miscommunication between programmers and clients (and managers in between). Illustrated with anecdotes on the edge of irony and humour, Cooper describes several “programmer? personal traits like considering failures a success if they learned anything in the process, sacrificing everything for knowledge, insisting on hard reality and over-emphasising edge cases. Based on that, he then argues that programmers are consistently running the development show, regardless of the organisation structure or methodology, as they can, in Cooper’s eyes, always push features dull, unimportant or uninteresting features to the bottom of the list just by estimating the development time too high. Cooper also attacks programmers for developing the software with the primary aim to maintain it easily, not to meet the goals of customers, and for requiring users to gain internal knowledge of the systems they build.</p>
<p>In the first part, Cooper also attacks overloading products with features, and the world’s acceptance of ugly interfaces and buggy software just because it enables solving complex problems. He compares those imperfect products to a dancing bear &#8211; it looks really ugly when a bear dances, but it’s fascinating enough so that people don’t mind that it’s not really a dance.</p>
<p>Cooper proposes design as a key factor to product success and customer loyalty, especially interaction design. Without going into too much detail, he attributes the fall of Novel and Borland to the lack of interaction design in their products, and argues that good design is responsible for customer loyalty which kept Apple from completely vanishing, and helped them resurrect a few years ago.</p>
<p>His approach is completely opposite to the current trends in the software industry, as he argues for much more up-front design and against being directly customer driven. Cooper calls doing layout design after development &#8216;painting the corpse&#8217;, and proposes a phase of interaction design before software design. His goal-driven design technique starts by identifying core user groups and representing them by a single, imaginary person, then focusing on those person’s goals. The idea of interaction design is making that one customer ecstatic about the product, and the book contains several detailed case studies which show how to do that, but still not push away other customer groups. Once those target customers and their goals are identified, Cooper argues that having &#8216;named persons&#8217; to represent users significantly improves communication, and makes it easy to remove the features which are not needed and would just introduce unnecessary complexity. </p>
<p>Last thirty or so pages, where the author tries to sell his process, were not very convincing to me. Out of respect for his experience in the industry I will not say that he is plainly wrong, but in my humble opinion he misses to consider some very important realities of software development. For example, Cooper compares software development with film making, arguing that the two are essentially the same in terms of having a pre-production, production and post-production phases, and that changes such as deciding to blow up a train instead of an air plane cannot be made easily in production, but can be quite easily made in pre-production. Software business and films may seem close on a silver screen, or to a consultant that just jumps from one project to another, but software is developed, maintained and supported for years after the release, which cannot map to anything in the movie world. I imagine that studio executives would just laugh at an offer to sell a popular blockbuster movie to a large retailer only if Julia Roberts was replaced by Pamela Anderson, but 15cm taller, and if the story takes place in a futuristic instead of a medieval environment. But I see changes like that in enterprise software every day &#8211; and being able to accommodate such silly requests is one of the key market advantages of good enterprise software. Again, I might just be one of the followers of the &#8216;dancing bear&#8217;, and trying to find an excuse for the imperfections rather than solving them – but I&#8217;ll leave that to you to decide.</p>
<p>I still recommend this book very much to any open-minded developer (and especially development managers). It is full of good case studies and, although I do not agree with a lot of ideas described in the book, it was very refreshing to read. Not very often did I come across such a detailed analysis of the software world from outside, by someone who has been an insider and with a viewpoint that will certainly make you think about ways to improve. I do not believe that interaction design is a silver bullet that can solve all the issues in software development, but I believe that Cooper identified real problems which should be addressed. I agree very much with him that we should put more effort into removing the complexity, and attacking unfounded common beliefs. And even if you don’t agree with the arguments which conflict with modern software development trends, there are a lot of ideas from this book that can be applied to improve software development and communication. For example, although Cooper’s approach completely at odds with Agile methodologies, his persona-focus is very similar to what Mike Cohn proposes in <a onClick="javascript:urchinTracker('/books/userstories');" target ="_blank" href="http://www.amazon.com/gp/product/0321205685?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0321205685">User Stories Applied</a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0321205685" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, one of the agile bibles. Similar, focusing on customer’s goals is an excellent guideline for software development  (I wrote earlier about my experiences with goal-driven development in <a href="http://gojko.net/2006/10/22/magic-of-goals/">The Magic of Goals: Focused Projects and Better Requirements</a> and <a href="http://gojko.net/2006/10/11/how-to-develop-software-like-commanding-a-tank/">How to develop software like commanding a tank</a>).</p>
<p>See also:</p>
<ul>
<li><a onClick="javascript:urchinTracker('/books/asylum');" target ="_blank" href="http://www.amazon.com/gp/product/0672326140?ie=UTF8&#038;tag=swingwiki-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0672326140">The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition)</a><img src="http://www.assoc-amazon.com/e/ir?t=swingwiki-20&#038;l=as2&#038;o=1&#038;a=0672326140" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> on Amazon.Com</li>
<li><a onClick="javascript:urchinTracker('/links/cooper');" target ="_blank" href="http://www.cooper.com/">www.cooper.com</a>, book author&#8217;s web site.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gojko.net/2007/01/18/the-inmates-are-running-the-asylum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
