Beyond Software Architecture: Creating and Sustaining Winning Solutions [NOOK Book]

Overview

Successfully managing the relationship between business and technology is a daunting task faced by all companies in the twenty-first century. Beyond Software Architecture is a practical guide to properly managing this mission-critical relationship. In our modern economy, every software decision can have a significant impact on business; conversely, most business decisions will influence a software application's viability. This book contains keen insights and useful lessons about creating winning software ...

See more details below
Beyond Software Architecture: Creating and Sustaining Winning Solutions

Available on NOOK devices and apps  
  • NOOK Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study

Want a NOOK? Explore Now

NOOK Book (eBook)
$27.49
BN.com price
(Save 42%)$47.99 List Price

Overview

Successfully managing the relationship between business and technology is a daunting task faced by all companies in the twenty-first century. Beyond Software Architecture is a practical guide to properly managing this mission-critical relationship. In our modern economy, every software decision can have a significant impact on business; conversely, most business decisions will influence a software application's viability. This book contains keen insights and useful lessons about creating winning software solutions in the context of a real-world business.

Software should be designed to deliver value to an organization, but all too often it brings turmoil instead. Powerful applications are available in the marketplace, but purchasing or licensing these technologies does not guarantee success. Winning solutions must be properly integrated into an organization's infrastructure.

Software expert Luke Hohmann teaches you the business ramifications of software-architecture decisions, and further instructs you on how to understand and embrace the business issues that must be resolved to achieve software success. Using this book as a roadmap, business managers and development teams can safely navigate the minefield of important decisions that they face on a regular basis. The resulting synergy between business and technology will allow you to create winning technology solutions, and ensure your organization's success--now and in the future.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Software architecture is essential, but it's not an end in itself. You need a business view of your project, not just a technical view -- and the two can’t operate in isolation. Designers and developers need to know about issues ranging from technical support to upgrade paths. Luke Hohmann shows how to reflect “product management and marketing” in your development process intelligently and almost painlessly. And yes, that can be done.

Hohmann has a deep respect for technical architecture -- and an unusually deep understanding of its goals. He begins by reviewing best practices for effective architecture development, care, and feeding, then reintroduces architecture in the context of product management -- “the comprehensive set of activities required to create and sustain winning solutions.”

For example, you’ll discover how business and license models can dramatically affect your technical architecture. (If you charge based on transactions, does your software uniquely identify every transaction and provide a reliable audit trail?) Hohmann next discusses the business case for portability (not always as strong as it appears). If portability does make sense, he offers realistic advice on achieving it (for instance, how do you rule out platforms)?

You’ll find important insights on integration (have you considered that providing hooks into other folks’ products makes it harder for customers to leave you, by raising “reintegration” costs?) Hohmann covers deployment, usability, installers, release management, security -- even (grrrrr…) branding. Hey, it’s a new world. You’ve got to pay attention to this stuff. Way better to learn it from Hohmann than “the suits.” Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.

Read More Show Less

Product Details

  • ISBN-13: 9780132465946
  • Publisher: Pearson Education
  • Publication date: 2/13/2003
  • Series: Addison-Wesley Signature Series (Fowler)
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 352
  • File size: 3 MB

Meet the Author

Luke Hohmann is an independent consultant committed to coaching his clients to greater levels of performance in the areas of product management, software development, and organizational effectiveness. He has worked in and lead development, product marketing/management, quality assurance, support, and business development functions in both public and private companies. He has created software ranging from single-user programs costing less than $50 to distributed, enterprise-class software platforms costing multiple millions of dollars. Mr. Hohmann is the author of Journey of the Software Professional: A Sociology of Software Development (Prentice Hall, 1997), as well as numerous articles on software development.

Read More Show Less

Read an Excerpt

Many excellent books have been written on software architecture. These books, which, among other things, define, classify, and describe software architectures, define notations for representing and communicating architectural choices, and provide guidance on making good architectural decisions, have enduring value. Unfortunately, while these books may help you build a successful architecture, they fall short of the goal of helping you create a winning solution. To create a winning solution, you need to move beyond subsystems and interfaces, beyond architectural patterns such as Front Controller or Pipes and Filters, and beyond creating third-normal-form relational databases. You need to move beyond software architecture and move toward understanding and embracing the business issues that must be resolved in order to create a winning solution.

An example of one such business issue concerns technical support. It is inevitable that some of your customers are going to have a problem with your software. The choices you've made long ago in such areas as log file design, how the system is integrated with other systems, how the system is configured, or how the system is upgraded will determine how well you can solve their problems. Beyond Software Architecture helps you move beyond software architecture and toward creating winning solutions by discussing a wide range of business issues and their interrelationship with architectural choices.

This book presents a unique perspective that is motivated and informed by my experiences in creating single-user programs costing less than $50; software systems used in academic research; utilities to diagnose and fix problems associated with internally developed systems; and distributed, enterprise-class platforms costing millions of dollars. Along the way, I've played a variety of roles. I've been an individual contributor, a direct manager, and a senior member of the corporate executive staff. At various times I've either worked in or led engineering, product marketing and management, quality assurance, technical publications, and first- and second-line support organizations. I've managed teams and projects across multiple cities and continents.

The common thread tying all of this software together is that it was created to provide value to some person. Research software, for example, serves the needs of the researchers who are trying to understand some phenomena. Enterprise application software, dealing with everything from customers to supply-chain management, is designed to serve the needs of a well-defined set of users and the businesses that license it in a sustainably profitable manner. Similar comments apply to every other kind of software, from games to personal contact managers, inventory management systems to graphic design tools.

The issues identified and discussed in this book affect every kind of software. Their presentation and discussion occur most often in the context of enterprise application software, where I have spent most of my professional career. While they have no universally accepted definition, enterprise applications typically meet one or more of the following characteristics:

  • They are designed to support the needs of a business, at either a departmental or larger organizational unit.
  • They are relatively expensive to build or license ($50,000-$5,000,000 and up).
  • They have complex deployment and operational requirements.
  • They can be operated independently, but the needs of the business are often best served when they are integrated with other enterprise applications.

Even if you're not creating an enterprise application, you will find this book useful. Creating sustainable software solutions—meeting customer needs over a long period of time through multiple releases—is a challenging, enjoyable, and rewarding endeavor, certainly not limited to the domain of enterprise applications!

Although I will often refer to software architecture and discuss technical matters, my discussions won't focus on such things as the best ways to diagram or document your architecture or the deeper design principles associated with creating robust, distributed Web-based component systems. As I said earlier, there are plenty of books that address these topics—in fact, almost too many, with the unfortunate side-effect that many people become so focused on technical details that they lose sight of the business value they're trying to provide.

Instead of concentrating on purely technical choices, Beyond Software Architecture helps you create and sustain truly winning solutions by focusing on the practical, nuts-and-bolts choices that must be made by the development team in a wide variety of areas. I have found that focusing on practical matters, such as how you should identify a release or integrate branding elements into your solution, reduces the often artificial barriers that can exist between developers and the business and marketing people with whom they work.

These barriers prevent both groups from creating winning solutions. I cringe when engineers take only a technology view without due consideration of business issues, or when marketing people make "get-me-this-feature" demands without due consideration of their underlying technical ramifications. When either side takes a position without due consideration of its impact, the likelihood of creating and sustaining a winning solution drops dramatically.

What is especially troubling is that these arguments seem to be made in support of the idea that technical issues can somehow be separated from business issues, or that business issues can somehow be separated from technical issues. At best this is simply wrong; at worst it can be a recipe for disaster. Developers are routinely asked to endure the hardships of design extremes, such as a low-memory footprint, in order to reduce total system cost. Entire companies are started to compete in existing markets because investors are convinced that one or more technological breakthroughs will provide the competitive advantage necessary for success. Not surprisingly, investors are even more eager to invest when the technological breakthrough is accompanied by a similar breakthrough in the business model being offered to customers.

Managing the interrelationship between technology and business will be a recurring theme throughout this book. Handle only the former and you might have an interesting technology or, perhaps, an elegant system,—but one that ultimately withers because no one is using it. Handle only the latter and you'll have a paper solution that excites lots of people and may even get you funding—but one that doesn't deliver any sustainable value. Handle both and you'll have a winning solution. While creating new technologies or elegant systems can be fun, and designing sophisticated new software applications or business models can be exciting, both pale in comparison to the deep satisfaction that comes from creating winning solutions and sustaining them.


Read More Show Less

Table of Contents

Foreword by Martin Fowler.


Foreword by Guy Kawasaki.


Preface.


1. Software Architecture.

Defining Software Architecture.

Alternative Thoughts on Software Architecture.

Subsystems Are Designed to Manage Dependencies.

Subsystems Are Designed According to Human Motivations and Desires.

Give in to Great Architectures.

Beauty Is in the Eye of the Beholder!

Why Software Architecture Matters.

Longevity.

Stability.

Degree and Nature of Change

Profitability.

Social Structure.

Boundaries Defined.

Sustainable, Unfair Advantage.

Creating an Architecture.

Patterns and Architecture.

Architectural Evolution and Maturation: Features versus Capabilities.

Architectural Care and Feeding.

Technological Currency.

Technological Debt.

Known Bugs.

License Compliance.

Principles First, Second, and Third.

Encapsulation.

Interfaces.

Loose Coupling.

Appropriate Granularity.

High Cohesion.

Parameterization.

Deferral.

Creating Architectural Understanding.

The Team.

Chapter Summary.

Check This.

Try This.



2. Product Development Primer.

What Is Product Management?

Why Product Management Matters.

Product Development Processes: Creating Release 1.0.

Concept Proposal.

Product Proposal/Business Plan.

Development Plan.

Development.

Final Quality Assurance.

Prelaunch.

Launch.

It Isn't Like That.

It Is a Waterfall Process and Those Don't Work.

It Presents All Stages as If They Were of Equal Importance.

It Doesn't Detail Any Time.

Where Is the Iteration?

It Doesn't Prescribe a Development Process.

It Doesn't Identify the Level of Collaboration Between Groups within Stages.

The Business Plan.

Product Development Processes: Creating Release n.n.n.

Augmenting the Product Development Process.

Successive Freezing.

Change Management Protocols.

Recycle Bin.

Crucial Product Management Concepts.

The Four Ps of Marketing.

Total Available Market, Total Addressable Market, and Market @BHEADS = Segmentation.

The S-Shaped Curve of Adoption.

The Whole Product.

Technical versus Market Superiority.

Position and Positioning.

Brand.

The Main Message.

Chapter Summary.

Check This.

Try This.



3. The Difference between Marketecture and Tarchitecture.

Who Is Responsible for What?

Early Forces in Solution Development.

Creating Results in the Short Run while Working in the Long Run.

Projecting the Future.

Harnessing Feedback.

Generating Clarity.

Working in Unison.

Reaching Agreements.

Making Data Available.

Context Diagrams and Target Products.

Chapter Summary.

Check This.

Try This.



4. Business and License Model Symbiosis.

Common Software Business Models.

Time-Based Access or Usage.

Transaction.

Metering.

Hardware.

Services.

Revenue Obtained/Costs Saved.

Rights Associated with Business Models.

Tarchitectural Support for the Business Model.

General Issues.

Time-Based Access or Usage.

Transaction.

Metering.

Hardware.

Enforcing Licensing Models.

The Honor System.

Home-Grown License Managers.

Third-Party or Professional License Managers.

The Client.

Market Maturity Influences on the Business Model.

Choosing a Business Model.

Chapter Summary.

Check This.

Try This.



5. Technology In-Licensing.

Licensing Risks/Rewards.

Contracts–Where the Action Is.

Contract Basics.

License Terms.

When Business Models Collide, Negotiations Ensue.

Honoring License Agreements.

Managing In-Licensed Technology.

Open-Source Licensing.

License Fees.

Licensing Economics.

Chapter Summary.

Check This.

Try This.



6. Portability.

The Perceived Advantages of Portability.

The Business Case for Portability.

Creating Portable Applications.

Use an Interpreted Language.

Use Standards-Based Persistent Storage.

Make Business Logic Portable.

Closer to the User Means Less Portability.

Use XML for Standardized, Interoperable Communications between Subsystems.

Avoid Hiding The Power of a Specific Platform in the Name of Portability.

The Matrix of Pain.

Step 1: Remove Configurations.

Step 2: Rank-Order Configurations.

Step 3: Make the Final Cut.

Beware the Promises You Make.

Chapter Summary.

Check This.

Try This.



7. Deployment Architecture.

Deployment Choices.

Customer Site.

Application Service Provider.

Managed Service Provider.

Transactional (Web Service).

Customer Influences on Deployment Architectures.

Control and Integration.

Data Security/Privacy and Peak Loads.

Costs and Vendor Confidence.

Customer Skills and Experiences and Geographic Distribution.

Corporate Influences on Deployment Architecture.

Sales Cycle.

Infrastructure Investment.

Cash Flow.

Flexibility.

Geographic Distribution.

Service, Not Price.

Choosing a Software Deployment Architecture.

Deployment Architectures and the Distribution of Work.

The Information Appliance.

Deployment Choice Influences on Software Architecture.

Flexible, Parameterized, or No Integration Options.

Upgrade Policies.

Data Protection and Access.

Migration Options.

The Future of Consumer Software.

Chapter Summary.

Check This.

Try This.



8. Integration and Extension.

Customer Control–The Driving Force.

Motivations for Integration/Extension.

Layered Business Architectures: Logical Structures.

The User Interface Layer.

The Services Layer.

The Domain Model Layer.

The Persistent Data Layer.

Variations on a Theme.

Creating Layered Business Architectures.

Integration and Extension at the Business Logic Layers.

Technologies and Locus of Control.

Integration through APIs.

Extension through Registration.

Integration and Extension of Persistent Data.

Views.

User Fields.

Hook Tables.

Spreadsheet Pivot Tables.

Extract, Transform, and Load Scripts.

Tell Them What's Going On.

Business Ramifications.

Professional Services.

Training Programs.

Certification.

User Community.

License Agreements.

Managing APIs Over Multiple Releases.

Techniques.

Chapter Summary.

Check This.

Try This.



9. Brand and Brand Elements.

Brand Elements.

Names.

Graphics, Slogans, and Other Brand Elements.

When to Use the Trademark (™) Symbol.

Managing In-License Brands.

Brand Element Customizations.

Changing Brand Elements.

Product Areas to Change.

QA and Change.

Chapter Summary.

Check This.

Try This.



10. Usability.

Usability Is about Money.

Mental Models, Metaphors, and Usability.

Tarchitectural Influences on User Interface Design.

Areas of Influence.

The Need for Speed.

Let's Be Clear on What We're Talking About.

What a Marketect Really Wants with Respect to Performance.

Responding to the User.

Performance And Tarchitectural Impact.

Chapter Summary.

Check This.

Try This.



11. Installation.

The Out of Box Experience.

Ouch! That Might Hurt.

Customer Fears.

Installation and Architecture.

Forces and Choices.

How to Install.

Installation Data Collection and Precondition Verification.

Installation.

Postinstallation Confirmation.

Finishing Touches.

They Don't Read the Manual.

Test the Install and Uninstall.

Chapter Summary.

Check This.

Try This.



12. Upgrade.

Like Installation, Only Worse.

Upgrade Fears.

Making Upgrades Less Painful.

Choices for Painless Upgrades.

Market Maturity and Upgrades.

Chapter Summary.

Check This.

Try This.



13. Configuration.

Configurability–An Element of Usability.

The System Context.

Contextual Information.

Initialization versus Execution.

Setting the Value.

Setting the Right Value.

Configuration Parameter Heuristics.

Chapter Summary.

Check This.

Try This.



14. Logs.

I Want to Know What's Happening.

Not Just the Facts.

Log Format and Management.

Log Format.

Log Management.

Logging Standards and Libraries.

Postprocessing Log Data.

Logging Services.

Chapter Summary.

Check This.

Try This.



15. Release Management.

Yes, You Really Need This.

Establishing a Baseline.

Release Management.

What You're Releasing.

Who You're Targeting.

Why They Want It.

Release Identification.

Full or Complete Releases

Partial Releases.

Patch Releases.

Variations.

SKUs and Serial Numbers.

SKU Management.

Serial Numbers, Registration, and Activation.

Release Management Influences on Tarchitecture.

Chapter Summary.

Check This.

Try This.



16. Security.

Viruses, Hackers, and Pirates.

Managing Risk.

See No Evil, Speak No Evil.

Digital Identity Management.

Authorization–Defining Who Can Do What.

Authentication–Proof of Identity.

Transaction Security.

Auditability–Proof of Activity.

Integrity–Preventing Tampering and Alteration of Data.

Confidentiality–Keeping Data Away from Those Not Entitled to It.

Accountability–Holding People Responsible for Their Actions.

Software Security.

Software Security Techniques.

Software Security Costs/Benefits.

Information Security.

Secret Algorithms or Secret Keys?

Back Doors.

Security and Marketecture.

Areas of Interaction.

Chapter Summary.

Check This.

Try This.



Appendix A. Release Checklist.


Appendix B. A Pattern Language for Strategic Product Management.

Applying The Patterns.

Capturing the Result.

Market Map.

Market Events/Market Rhythms.

Feature/Benefit Map.

The Tarchitecture Roadmap.



References.


Bibliography.


About the Author.


Index.

Read More Show Less

Preface

Many excellent books have been written on software architecture. These books, which, among other things, define, classify, and describe software architectures, define notations for representing and communicating architectural choices, and provide guidance on making good architectural decisions, have enduring value. Unfortunately, while these books may help you build a successful architecture, they fall short of the goal of helping you create a winning solution. To create a winning solution, you need to move beyond subsystems and interfaces, beyond architectural patterns such as Front Controller or Pipes and Filters, and beyond creating third-normal-form relational databases. You need to move beyond software architecture and move toward understanding and embracing the business issues that must be resolved in order to create a winning solution.

An example of one such business issue concerns technical support. It is inevitable that some of your customers are going to have a problem with your software. The choices you've made long ago in such areas as log file design, how the system is integrated with other systems, how the system is configured, or how the system is upgraded will determine how well you can solve their problems. Beyond Software Architecture helps you move beyond software architecture and toward creating winning solutions by discussing a wide range of business issues and their interrelationship with architectural choices.

This book presents a unique perspective that is motivated and informed by my experiences in creating single-user programs costing less than $50; software systems used in academic research; utilities to diagnose and fix problems associated withinternally developed systems; and distributed, enterprise-class platforms costing millions of dollars. Along the way, I've played a variety of roles. I've been an individual contributor, a direct manager, and a senior member of the corporate executive staff. At various times I've either worked in or led engineering, product marketing and management, quality assurance, technical publications, and first- and second-line support organizations. I've managed teams and projects across multiple cities and continents.

The common thread tying all of this software together is that it was created to provide value to some person. Research software, for example, serves the needs of the researchers who are trying to understand some phenomena. Enterprise application software, dealing with everything from customers to supply-chain management, is designed to serve the needs of a well-defined set of users and the businesses that license it in a sustainably profitable manner. Similar comments apply to every other kind of software, from games to personal contact managers, inventory management systems to graphic design tools.

The issues identified and discussed in this book affect every kind of software. Their presentation and discussion occur most often in the context of enterprise application software, where I have spent most of my professional career. While they have no universally accepted definition, enterprise applications typically meet one or more of the following characteristics:

  • They are designed to support the needs of a business, at either a departmental or larger organizational unit.
  • They are relatively expensive to build or license ($50,000-$5,000,000 and up).
  • They complex deployment and operational requirements.
  • They can be operated independently, but the needs of the business are often best served when they are integrated with other enterprise applications.

Even if you're not creating an enterprise application, you will find this book useful. Creating sustainable software solutions--meeting customer needs over a long period of time through multiple releases--is a challenging, enjoyable, and rewarding endeavor, certainly not limited to the domain of enterprise applications!

Although I will often refer to software architecture and discuss technical matters, my discussions won't focus on such things as the best ways to diagram or document your architecture or the deeper design principles associated with creating robust, distributed Web-based component systems. As I said earlier, there are plenty of books that address these topics--in fact, almost too many, with the unfortunate side-effect that many people become so focused on technical details that they lose sight of the business value they're trying to provide.

Instead of concentrating on purely technical choices, Beyond Software Architecture helps you create and sustain truly winning solutions by focusing on the practical, nuts-and-bolts choices that must be made by the development team in a wide variety of areas. I have found that focusing on practical matters, such as how you should identify a release or integrate branding elements into your solution, reduces the often artificial barriers that can exist between developers and the business and marketing people with whom they work.

These barriers prevent both groups from creating winning solutions. I cringe when engineers take only a technology view without due consideration of business issues, or when marketing people make "get-me-this-feature" demands without due consideration of their underlying technical ramifications. When either side takes a position without due consideration of its impact, the likelihood of creating and sustaining a winning solution drops dramatically.

What is especially troubling is that these arguments seem to be made in support of the idea that technical issues can somehow be separated from business issues, or that business issues can somehow be separated from technical issues. At best this is simply wrong; at worst it can be a recipe for disaster. Developers are routinely asked to endure the hardships of design extremes, such as a low-memory footprint, in order to reduce total system cost. Entire companies are started to compete in existing markets because investors are convinced that one or more technological breakthroughs will provide the competitive advantage necessary for success. Not surprisingly, investors are even more eager to invest when the technological breakthrough is accompanied by a similar breakthrough in the business model being offered to customers.

Managing the interrelationship between technology and business will be a recurring theme throughout this book. Handle only the former and you might have an interesting technology or, perhaps, an elegant system,--but one that ultimately withers because no one is using it. Handle only the latter and you'll have a paper solution that excites lots of people and may even get you funding--but one that doesn't deliver any sustainable value. Handle both and you'll have a winning solution. While creating new technologies or elegant systems can be fun, and designing sophisticated new software applications or business models can be exciting, both pale in comparison to the deep satisfaction that comes from creating winning solutions and sustaining them.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted December 11, 2003

    Depicts the Development Process in its fullness

    There must be hundreds of books on the software developmental process, but I have yet to see a book that covers the business, technical marketing, sales cycle, deployment cycle, release cycle, licensing, installation, upgrade cycle, and everything in the middle all in one compact book. This book TRULY covers the life of a software application and everyone involved in it. For us techies, this book starts with what we are familiar with: ¿Why software architecture matters?¿ The author starts with a general overview of the topic, but it goes much further into the non-technical details software architecture, such as the Social Structure aspect: ¿A good architecture works for the team that created it. It leverages strengths and can, at times, minimize their weaknesses. ¿ Once created, the architecture in turn exhibits a strong influence on the team. No matter what language you¿ve chosen, you have to mold the development team around it because it affects such as things as your hiring and training policies.¿ New comers to the architect world don¿t really think about such aspects, or at least it¿s not really high on priority on many people¿s lists. The author puts such things right next to profitability, stability of the architecture, and defining the technical boundaries. Granted that Social Structure aspect of the architecture is as important as the others, you can¿t really find many books out there that treat it as such. Personal experience teaches us that, but there are cases, many cases, that one doesn¿t have the luxury of ¿trial and error¿. The author takes great pride in his experience and has written this book like a personal assistance to a newbie to the job, and to the expert architect with topics such as branding issues, licensing affects on the overall architecture and more¿ Tarchitecture and Markitecture are two words/concepts that are used frequently throughout this book. The author starts with the inception of software applications and explains the important rule that Market Architecture (Markitecture) and Product Management have in the overall picture of a software lifecycle. Why Business plan is important and how it should be written, how to release version 1.0 and subsequent versions, how customer input and interaction with the markitects play the most important rule in the subsequent releases of your software, and other such important questions are covered in chapters 2 and 3. The chapter Software License and Licensing models is probably one of the most valuable chapter (chapter 4) in the entire book. The author describes the concept of licensing and how it fits into the overall architecture and how it affects the architecture very elegantly. Various licensing models and their pros and cons are described: · Time based · Transaction based · OEM bases · Metering style · Hardware based · Services based · Revenue Obtained/Costs saved. The author explains why it is important to select the right licensing model, and how and why it could have a negative effect on your architecture if the wrong one is chosen.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)