Published in early 1996, this book describes VMT, a software development methodology developed since 1993 by the authors at their IBM research centres. VMT is intended to be an all-encompassing methodology for creating software using 'visual pro-gramming' (the 4GL style of development provided by IBM's VisualAge) and the scope of the methodol-ogy is broad, from requirements specification through to the design of distributed object applications and on to general Business Process Reengineering (BPR).
The text is very IBM-centric, relying heavily on the VisualAge suite of development tools in several chapters for the case study and IBM's SOM/DSOM technology for distribution, although the authors stress that the methodology itself is not tied to IBM's tools. Indeed, much of the methodology is generic and borrowed from other methodologies. The authors believe VMT includes those elements best suited to the development of modern distributed GUI business applications.
In describing VMT, the book gives summaries of a large number of concepts, processes and techniques. VMT uses the notation of OMT (VMT predated mainstream use of UML) and a summary of OMT notation is given, along with a few-page summary of OOA/OOD and each of the OMT, OOSE, Booch and RDD methodologies. Iterative and incremental software processes are described, along with waterfall and spiral (again, VMT predates processes such as Objectory). Use cases are described alongside requirements gathering and CRC cards are summarised for uncovering objects and performing use-case 'walkthroughs.' Discussions of persistence strategies lead to a description of and introduction to RDBMSs, object ids and mapping objects to tables. Programming by contract is mentioned briefly and tactics for data and code distribution are summarised before IBM's SOM/DSOM are introduced for the case study.
A 'Management Aspects' chapter covers prototypes - their pros and cons (such as the all-too-common danger of the throwaway prototype ending up as the shipped product) - as well as the benefits of RAD and reuse, staffing and key job roles and costing up a project. Testing and documentation are also covered (if rather briefly).
In the last section, BPR is described and Line of Visibility Charts (LOVC) are introduced. The authors then step back as LOVCs are mapped to use cases to permit system design based on BPR. Finally, they are back to requirements modelling as business rules are introduced and incorporated as part of the VMT requirements modelling process.
I imagine few of you reading this review will ever use VMT (in its current form) in real projects, the level of details for some sections is rather patchy and there are errors in a number of the figures. However, the book does discuss a large number of topics of general relevance to software development and there are several sections that form quite helpful summaries of key topics. Probably only worth buying if you are using VMT or want to compare it with a similar methodology.