10/17/2009

Review of Software Development on a Leash (Expert's Voice) (Paperback)

I have mixed feelings about this book. The main idea of it (as far as I understand) is achieving high degree of reuse by separating the software from its concrete application and expressing this application in "structural and behavioral metadata". Moreover, in your application, you must get rid of any dependecties on things that you do not control by wrapping it in your software layer and exposing it to the application as very abstract ("metamorphic") object model. The author provides some interesting examples for this and presents the basic building blocks of a software framework built around these ideas. As much as it might sound compelling this concept is not really new. What is worse is that methods and advice presented in the book are sometimes simply wrong or often have serious drawbacks which the author doesn't talk about.

For example the author really hates strong typing and recommends reducing the interface of _all_ your classes to just 3 members: "Item", "Ref" and "Action". This is bizarre. The view of strong typing as an enemy of the programmer is completely wrong; it was actually introduced to help control side-effects of changes to class interfaces. Another example is the virtual database layer the author proposes: while it is true that it lets the programmer switch the underlying database engine very easily it is based on relatively low-level SQL concepts and suffers from the least common denominator syndrome. I would say that for many, if not most, application a better way is to design a higher-level database abstraction layer that takes advantage of the engine capabilities. Usually it is not much more code and the performance difference might be enormous.

Finally there is the cost aspect. You cannot really adopt the method partially; either you are in or out. And you must really have almost unlimited resources to develop this kind of framework yourself. Which makes you think that it would be reasonable to get the framework developed by the author already. Which is just what the author wants and which is strongly reinforced with the last chapter of the book that literally sounds like a Ginzu knife sales pitch. Is it worth it? You have to decide yourself. For me the extreme programming advice: "Always build the simplest thing that works" has worked very well so far...

Product Description
<p><i>Software Development on a Leash</i> is designed as a roadmap for experienced developers and architects who are interested in implementing a turbocharged software development process that encourages reuse and innovation. Author David Birmingham's products have been successfully deployed in a variety of venues, including highly complex desktop environments, with rapid turnaround and high-intensity delivery deadlines.</p><p>This book contrasts the application-centric development approach to the architecture-centric development approach, introducing the concept of the <i>metamorphic superpattern</i>&emdash;the capability of a software program to dynamically adapt to changing application requirements without rebuilding the binary executable.</p><p>Birmingham invites the reader to deploy reusable structural and behavioral building blocks, along with some powerful frameworks to gain immediate traction in any setting. He includes a high-speed multidimensional toolkit to organize and deploy the building blocks, essentially weaving the application together at run-time rather than being hard-wired in program code.</p><p>Birmingham then ties the building blocks together with structural and behavioral metadata, allowing simple, interpreted macros to drive everything from database access, screen layouts, and many aspects of software development normally embedded directly into the software program&emdash;and reused! The rapid deployment effect this creates allows developers to perform simple surgical application changes or rapid, sweeping rework/enhancement&emdash;without changing compiled software.</p>

Click Here to see more reviews about: Software Development on a Leash (Expert's Voice) (Paperback)

No comments:

Post a Comment