Software Architect Bootcamp, Second Edition
||Author: Thomas J. Mowbray, Raphael Malveau|
List Price: $49.99
Our Price: Click to see the latest and low price
Publisher: Prentice Hall PTR (18 December, 2003)
Sales Rank: 99,182
Average Customer Rating: 2.38 out of 5
Customer ReviewsRating: 4 out of 5
An overview of the field of software architecture
Judging by the title of this book, it should contain topics that represent the basic knowledge required from a software engineer must be aware of regardless of the role he plays -- software architect, designer, implementer. Indeed, this book covers topics like overview of the history of the software architecture discipline, major technologies at play, software development lifecycle, elements of software design, an extensive advise on how to handle team development risks, software design process, different aspects in the process of defining architecture, psychological techniques of survival in organization. The book is written with a ***distributed system architect*** in mind.
This book covers well the field of managing software complexity through modeling and development processes; it talks about history of different approaches to architecting and designing complex systems, about managing team development, communication, organizational risks, etc. Most of the information in this book *is* common sense and must be known to any critically thinking mature developer. I found especially interesting the information on evolution of the architectural thought.
The book has a number of shortcoming. In many places the presentation of material is sketchy and **quite boring**. Authors either skipped completely or dedicated just a few words to some topics, while they spent 20 times of that on the others. For example, the authors dedicated almost 20 pages to UML; at the same time I could not find any decent reference to RUP. The book often forces the reader to refocus, although all of the information presented in it is on the topic.
After browsing the book it is not hard to imagine the authors screaming, "It's a war out there!! If you don't buy this book, your suffering will be enormous!" :). This probably explains the chapter names: Military History, Software Architecture: Going To War, Software Architecture: Drill School. Other chapters have equally obscure names: Software Architecture: Intelligence Operations (the chapter talks about managing information), Communications Training (communicating architectural and design concepts, UML), etc. On a serious note, I have found all this not very helpful and quite annoying.
If you participate in architectural and project management activities in your organization, you should be aware of the most material covered in this book. Certain chapters could be helpful to a manager as well. This is unfortunate that the authors have failed to make the book more entertaining and readable.
Rating: 4 out of 5
An Updated Second Edition
[A review of the SECOND EDITION!]
Of the various software tasks, like writing in assembly, writing in a third generation language,..., the highest level can offer the greatest value added or subtracted. This is the level of architecture, which is covered in this book, recently updated to reflect the latest industry practices.
The book tries to help you make strategically correct decisions EARLY in a project. Should you go for a client-server architecture, for example. If so, then it shows how you probably need familiarity with Remote Procedure Calls and the Distributed Computing Environment and with CORBA. Or maybe you should use an Object Oriented technology? Helpfully, the book guides you towards Java and J2EE as a development platform to do this. But it also suggests C# and .NET as an alternative platform.
The authors are thoughtful enough to suggest that you steer away from a procedural paradigm if you have a commercial project, though they do give a careful, respectful description of what that approach is.
The book covers more topics than just the above. I mentioned those because they may well be the most useful to you. Other important topics are the solidying of UML as the industry's standard design notation, and the use of XML as the most robust format for data interchange.
Malveau and Mowbray write in a clear, down to earth style. Yes, they describe the standard jargon, because you need to know this. But the prose thankfully minimises the interspersed sprinkling of acronyms. In other words, you can read entire sections fluidly, and understand them, without having to constantly refer to a glossary of obscure acronyms.
Rating: 2 out of 5
Just a bad hash.. or is that hack.
... Warning: too much rambling ahead.
// Read at your own risk.
I perused this text at length in the local bookstore. I did not find much of merit for my own personal use, but someone else might find otherwise.
I concluded that, (probably like most people that would pick up this book), I've already had a lot of the experiences outlined in the book. This includes code reviews and walk through, project planning / management, dealing with non-technical people, being a diplomat, evangelist, mentor, as well as (whoa!) being an actual developer, too.
IMHO, this book is a somewhat glib re-hash of basic material you can glean from more comprehensive sources, such as "Code Complete" (Steve McConnell, Microsoft), which is itself a codification of studies and findings from other software sages.
I think the authors put far too much emphais on particular technologies, some of which are swiftly losing relevance, ie, COM+ and ActiveX. When I saw these terms, I checked the publishing date. I expected to see 1998, but found 2001!!
I don't think that a credible text on building an architecture career should be pushing any particular implementation technology. Many technologies are not built on anything new, but are simply re-hashes of RPC, wrapped up in newer clothing... rather like the content of this book. However, in it's defense, the text did acknowledge that the most important thing is that our tech careers demand a lifetime of learning.
You can gain a lot better understanding of topics mentioned in this book by arming yourself with such texts as Code Complete, a good UML text, a good Patterns book, a lot of seasoned development experience, and perhaps even a 14 week Dale Carnegie course so you can learn to let other people think that they thought of before you did. However, you also have to be willing to step up and accept some project leadership roles, and be willing to deal with tech or non-tech people at various levels.
Postive: nice cover, not heavy, no cute graphical layout clutter, good introductory text for a non-technical manager to read.
One excellent note: the authors made a very good recommendation about how to stay on a tech path. They advise that you make your desire and goals clear to your non-tech manager, and occasionally repeat them every few months. They also warn against rising so high in the organization that you begin to be tapped for managerial roles that you don't want.
Here endeth the sermon.
· Software Architecture: Organizational Principles and Patterns
· Software Architecture in Practice, Second Edition
· The Software Architect's Profession: An Introduction
· Applied Software Architecture
· Patterns of Enterprise Application Architecture