Home About News Contact
 

Software Development on a Leash

Overview

Title Software Development on a Leash
Author David C. Birmingham and Valerie Haynes Perry
Published Mar 2002 by Apress (www.apress.com)
ISBN 1-893115-91-7
Pages 429
Category Visual Basic framework
User Level intermediate to advanced
Reviewer Anthon Pang
Rating 3 / 5

Synopsis

In "Software Development on a Leash", the authors compare application-centric vs. architecture-centric development. Weighing the pros and cons, the authors make a convincing argument for the latter -- building software on metadata-driven, capability-rich frameworks. This rapid development approach is illustrated through code snippets from the author's own framework and by working through tutorial projects at the end of each chapter.

Table of Contents

Chapter 1. The Starting Point
Chapter 2. Building Blocks
Chapter 3. Best Behavior
Chapter 4. Power Tools
Chapter 5. Virtual Frameworks - Error Control
Chapter 6. Virtual Frameworks - Modelling Data Dynamically
Chapter 7. Virtual Frameworks - Screen Prototyping

Praises

"Software Development on a Leash" begins with coverage of the pitfalls endemic to application-centric development, such as tight coupling, low reuse, and hard-coded business rules. It examines the effect on customers, developers, and the bottom-line. Embracing patterns, an enticing solution is then described that adheres to the principles of abstraction, consistent interfaces, and decoupling. The authors go on to coin the phrase, "metamorphic superpattern".

The authors present powerful architectural concepts in a framework featuring:

  • a generic container and iterator interface
  • using an interpreter to program application-specific behaviour
  • embedding a debug/watch window that peeks/pokes into the framework
  • database abstraction without stored procedures
  • desktop clients with run-time loaded layout

Source code available online (2002-05-21).

Criticisms

Intentional or not, it reads like two very different authors worked on this title independently, rather than collaboratively. While later chapters are largely cohesive, others lack order, jumping between topics in a seemingly chaotic fashion. For example, the mechanics of the interpreter and the syntax of the language it implements, are dispersed across the book.

Be prepared to flip back and reread previous material to figure out the context of code examples. Little-to-no distinction is made between those written in Visual Basic (the author's language of choice) and the obviously VB-influenced vScript interpreter language. To add insult to injury, there are numerous printing errors, and APIs are given terse (often incomplete) treatments. In addition, the publisher was non-responsive to printing errata.

Final Analysis

I bought this book with high expectations and was sorely disappointed overall. The authors start off strong in justifying the need for metadata-drive frameworks. But despite delivering some novel concepts, the message is lost in the clutter. In addition, "Software Development on a Leash" largely ignores other important software development issues, such as usability, scaleability, deployment, and managing complexity.

By the end, "Software Development on a Leash" can read more like a rolled-into-one marketing white paper, tutorial, and design rationale, of the author's (patent-pending and proprietary) vMach framework.

Copyright

Copyright © 2003 Anthon Pang.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".