Home > Store > Software Development & Management > Architecture and Design

Beyond Software Architecture: Creating and Sustaining Winning Solutions

Register your product to gain access to bonus material or receive a coupon.

Beyond Software Architecture: Creating and Sustaining Winning Solutions

Best Value Purchase

Book + eBook Bundle

  • Your Price: $64.79
  • List Price: $107.98
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

More Purchase Options

Book

  • Your Price: $47.99
  • List Price: $59.99
  • Usually ships in 24 hours.

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2003
  • Dimensions: 7-3/8x9-1/4
  • Pages: 352
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-77594-8
  • ISBN-13: 978-0-201-77594-5

Praise for Beyond Software Architecture

“Luke Hohmann is that rare software technologist who views software development from the viewpoint of the end user. He passionately believes that one hour spent with an end user is worth many hours making software architectural choices or days documenting perceived user requirements. Most of what is written about software development focuses on methods used to design and develop robust software. Luke’s latest effort, Beyond Software Architecture, illuminates the more mundane aspects of creating true business solutions by supporting the user throughout the lifecycle of the software product. By concerning himself with creating business value, Luke tightens the connection between a software application and the business function it performs.”

         —Bruce Bourbon
             General Partner, Telos Venture Partners

“There are two kinds of people that read the Dilbert comic strip: folks that take a moment to marvel at how accurately it reflects life at their company before moving on to the next comic strip, and folks that think Dilbert is an amusing reminder that high tech companies can and should be better than Dilbert’s world. Anyone in the first group should stick to reading comics. This book is for people in the latter group.”

         —Tony Navarrete
             Vice President, Diamondhead Ventures

“Luke brings a proven methodology to the challenge of software development. In Beyond Software Architecture, Luke provides practical and proven techniques that all development executives can employ to improve the productivity of their software organization.”

         —G. Bradford Solso
             CEO, Taviz Technology

Beyond Software Architecture is the first book I have read which contains an insider’s perspective of both the business and technical facets of software architecture. This is a great book to get marketers and software managers on the same page!”

         —Damon Schechter
             CEO, LOC Global
             author of Delivering the Goods

“There are books on technical architecture and books on product marketing, but few, if any, on how architecture and marketing information must be integrated for world class product development. Beyond Software Architecture provides this valuable bridge between technology and marketing—it explains how to deliver quality products that are profitable in the marketplace.”

         —Jim Highsmith
             Director, Cutter Consortium
             author of Adaptive Software Development

“Product development managers, marketing managers, architects, and technical leads from all functions should read this book. You’ll see a pragmatic view of how to define and use a product architecture throughout a project’s lifecycle and a product's lifetime.”

         —Johanna Rothman
             Rothman Consulting Group, Inc.

“Luke Hohmann has captured the essence of product creation in his latest book. He cleverly discusses the need for both the marketing and engineering roles in product creation and ties the two together building a good foundation for understanding and executing successful product creation.”

         —Lee Sigler
             Principal, 360 Market View, Inc.

“Finally a book that deals with those often ignored but critical operational issues like licensing, deployment, installation, configuration and support. Beyond Software Architecture is the “What they don't teach you at Harvard Business School” book for anyone who develops software products—or buys them.”

         —Mary Poppendieck
             Managing Director, Agile Alliance
             President, Poppendieck LLC

“Luke Hohmann delivers a passionate, articulate wake-up call to software architects: it ain’t just technical any more! Technical architectures have profound business ramifications, and ignoring the business ramifications of portability, usability, configuration, upgrade and release management, security, and other architectural choices can not only lead to project failures, but ultimately to nasty lawsuits from disappointed customers. Beyond Software Architecture is a must-read for successful software product managers!”

         —Ed Yourdon
             Author of numerous books and articles on software development

Beyond Software Architecture is not just for software engineering professionals! Executives and product managers will find that the book provides the necessary background to make informed decisions about the software that their companies build. I have found that the book is a useful tool for building consensus between management and engineering, because it discusses business and customer-related issues without delving too deeply into implementation details.”

         —David Chaiken
             Vice President, Systems Architecture
             AgileTV Corporation

“Product marketing influences product architecture. This shouldn’t be a surprise, yet most texts on software architecture are silent on this fact. This may be because we lack the language for distinguishing between the technical aspects of an architecture and the marketing aspects. Beyond Software Architecture provides the language to draw this important distinction, and provides strategies for overall architectural success.”

         —Dave W. Smith

Beyond Software Architecture, as the title implies, successfully addresses the often neglected aspects of developing total solutions. Hohmann demonstrates both passion and depth for the broad set of topics discussed.”

         —Craig Priess
             Director Product Management, Resonant Software

“Looking through my technical library, it’s apparent that many books are obsolete, casualties of technical innovation and change. There are a few, however, that remain and continue to be relevant. Adding Luke Hohmann’s new book, Beyond Software Architecture: Creating and Sustaining Winning Solutions expands that selection and fills an important gap. It is the first book that I recall presenting a holistic approach to software creation. Going beyond the technical aspects by weaving together and linking critical business and marketing development in such a way to elevate and show how both technical and marketing processes must coalesce to create a winning solution. The topic's importance extends beyond programmers, designers and other technical staff, just as does its content. For marketing professionals, it shows how their decisions and strategies can impact technical decisions. For consumers, it can give them insight on the best ways to work with software manufacturers. For the software entrepreneur, it offers a plan for creating a successful venture. The content, at just the right amount of detail, is presented in easy-to-understand language and in such a way that the information is easy to retain and apply. The topics are timeless. The book will be relevant for a long time.”

         —Clay Miller

“I highly recommend this book. As a former software company CEO and founder I have worked with many software engineers and had a number of VPs of engineering report to me. Luke was and is one of the best. He is not only a great engineer, but has a keen grasp of the strategic business issues that must drive good code and architectural decisions. I consider Beyond Software Architecture required reading for anyone building software systems.”

         —Kevin Rivette
             Executive Advisor, BCG Consulting
             author of Rembrandts In The Attic

“Perhaps you’ve met, or worked with, or heard speak at events, or read the writings of someone who expects reverence because he commands academic knowledge of the latest software patterns, technologies, or development processes and tools. So what, you say. Suppose you take such knowledge for granted. Suppose that knowledge is the minimum qualification for a member of your team. Then what? What separates a real contributor to the success of your project and organization, from the average bookish expert of the day? In Beyond Software Architecture, Luke Hohmann writes of the stuff that makes up those answers. Installation and upgrade. Configurability and customization of your software. Integration with other software. Usability. Logging. Interdepartmental processes and release management. Business models, licensing, and deployment choices. The stuff that makes software development much bigger, and much messier, than UML diagrams of some pattern implemented with components. The stuff that makes software development real. Luke knows because he’s been in the trenches, trying to make businesses successful. He spends his time doing it more than writing and talking about it. But now he distills his insights and shares the benefit of his experience. If you’re like me, you’ll find yourself nodding your head and underlining passages as you read this book. Luke’s observations will resonate with you. Your organization, and the software development profession as a whole, can benefit from using the vocabulary and ideas in this book. So you’ll want to recommend it to others, which is exactly what I’m doing here.”

         —Randy Stafford
             Chief Architect, IQNavigator, Inc.

“Hohmann’s book provides a unique perspective on how the many and subtle technology decisions shape the economic and strategic landscape. Corporate strategists in many industries will find these insights enormously valuable.”

         —Martha Amram
             Strategic Advisor and Consultant
             author of Value Sweep and co-author of Real Options

“Luke put his tremendous experience to good use by eliminating the us versus them approach of marketing and engineering departments. This book is a must for every senior engineer, software architect, and product manager. With the practical advice in this book they can concentrate on beating the competitors.”

         —Heinrich Gantenbein

“I once was a QA manager for Luke Hohmann. I can tell you the guy knows competitive software development. He was in the trenches with us, working through technical problems and sweating the difficult business decisions. He’s uniquely qualified to write about both the business and technical side of software architecture, and this book successfully bridges both worlds. The result is a seminal handbook for product managers and directors of software engineering.”

         —James Bach
             Founder, Satisfice, Inc.

“Too many times my firm is asked to resolve a dispute that could have been avoided had the companies involved with the dispute more clearly defined their business and licensing models before the contract was signed. In Beyond Software Architecture, Luke Hohmann clearly explains how to avoid unnecessary and costly disputes regarding business and licensing models. This is a must read book for senior product managers and technical executives.”

         —Rob Sterne
             Founder, Sterne, Kessler, Goldstein and Fox
             International Authority in Intellectual Property

“Luke Hohmann’s excellent BSA communicates essential hard-won insights from a rare individual—both architect and business leader—who shows us that architecture is more than describing layers; it’s about creating winning solutions through understanding, and resolving the market, business, and technical forces.”

         —Craig Larman
             author, Applying UML and Patterns: An Introduction to OOA&D and the Rational Unified Process

“By stepping back and evaluating the interaction between business drivers and software development, Beyond Software Architecture provides the perspective to create a winning solution. This book is a practical guide for achieving quick time to market solutions through the identification of pitfalls and suggests pragmatic alternatives to effective solution development. Real life examples provide an instructional view of the life cycle phases, including clear roles and responsibilities, as seen by the entire project team. Knowing when to give up the ghost, seek the help of others, or simply leverage a proven model, Beyond Software Architecture explores the alternatives and identifies key decision points. A must read for software architects and product managers seeking an understanding of the challenges and dynamics of a successful software development effort, and a winning solution—the first time.”

         —Mark Welke
             High Availability Marketing Manager, Hewlett Packard

“The thing you need to consider when creating a great application is “Everything.” Great applications do not usually come from a single great idea, great architecture, or great appreciation of the customer’s need. Instead they come out of a unique confluence of a large number of factors encompassing marketing, technology, psychology, support, economics, legal factors, and more. While many books address individual aspects of software application development, Luke Hohmann’s book, Beyond Software Architecture, addresses a very broad range of topics, all of which should be addressed in the creation of every application, but often aren’t. I would recommend that anyone involved in the creation of a software application read this book as a guide to the things that need to be considered in the process. No book can cover “everything,” but this one is a laudable attempt.”

         —Jim Gay
             One Jump Consulting

“A successful software product’s technical architecture must align with the realities of the marketplace. While the goal is obvious, marketers and technologist often find themselves in two warring camps, separated by a chasm of incompatible attitudes and expectations. If you want to close this gap and focus on product success, this book is required reading for both sides.”

         —Dave Quick
             Architect, Integrated Solutions Development Group, Microsoft, Inc.

“As a technologist who has transitioned to product team leadership, this book distils many of the lessons I’ve learned through study, trial, and error. As someone who still bridges the gap between software development and executive management, I found this book a great refresher and filled with little “oh yeah!” insights. And, as I continue to work with teams to manage and develop new products, I’m sure I’ll use it as a reference and a teaching resource, bringing the “big picture” into view and avoiding costly pitfalls. Anyone managing product development or marketing, aspiring to manage, or unhappy with current management should definitely read Hohmann’s work.”

         —Todd Girvin
             President, Optiview Inc.

“Over the years, I’ve seen many projects that have failed, or struggled, to cross the bridge between new product invention and creating a winning solution. This book provides a practical set of guidelines—it’s a useful, and usable, book.”

         —Dan'l Lewin
             Corporate Vice President of Microsoft .NET Business Development

“The real magic happens where business and technology ideas meet. This book will help you make the connection.”

         —David A. Lancashire
             CEO, Geniant

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.



Extras

Related Article

Surviving Product Management

Author's Site

Click for the Author's Web Site related to this title.

Sample Content

Online Sample Chapter

Software Architecture: The Difference between Marketecture and Tarchitecture

Downloadable Sample Chapter

Click below for Sample Chapter(s) related to this title:
Sample Chapter 4

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

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. 0201775948T01212003

Preface

Many excellent books have been written about software architecture. These books, 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; each has its own enduring value. Unfortunately, even though any one of 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 toward understanding and embracing the business issues that must be resolved to create a winning solution.

An example of one business issue to resolve concerns technical support. It is inevitable that a customer will have a problem with your software. When someone contacts you for assistance, 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 meet customers' needs. By discussing a wide range of business issues and their interrelationship with architectural choices, Beyond Software Architecture helps you move beyond software architecture and toward creating winning solutions.

This book presents a unique perspective which was developed and informed by my experience in creating everything from single-user programs costing less than $50; to software systems used in academic research; to utilities for diagnosing and fixing problems associated with internally developed systems; to distributed, enterprise-class platforms costing millions of dollars. Along the way, I've played a variety of roles, including being 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 product management, quality assurance, technical publications, and first- and second-line support organizations. I've managed teams and projects in more than one city and across continents.

The common thread that ties all of the software together is that all of 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 phenomenon. Enterprise application software, dealing with everything from customers to supply-chain management, on the other hand, is designed to serve the needs of a well-defined set of users and the businesses who 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. The presentation and discussion of these issues occurs most often in the context of enterprise application software, where I have spent most of my professional career. While there is no universally accepted definition of an enterprise application, 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 to $5,000,000+)
  • They have complex deployment and operational requirements;
  • The needs of the business are often best served when they are integrated with other enterprise applications even though some can be operated as independent applications

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

Although I will often refer to software architecture, and describe things that are technical in nature, my discussions won't be focused on 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, there are almost too many books on these topics, 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 a wide variety of practical, nuts-and-bolts choices that must be made by the development team. I have found that focusing on practical matters, such as how you should identify a release or how you should integrate branding elements into your solution, often reduces the 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 profess to taking only a technology point of view without considering the "business issues," or when marketing people make get-me-this-feature demands without considering the underlying technical ramifications of the feature they want. When either side takes a position without due consideration of the request's 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 be somehow separated from business issues, or that business issues can be somehow 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 breakthrough 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.

How to manage the interrelationship between technology and business is a recurring theme throughout this book. Handle only the former and you may have an interesting technology or, perhaps, an elegant system, but one that ultimately will wither 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 it doesn't deliver any sustainable value. Handle both and you'll have a winning solution. Although 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 and sustaining winning solutions.

Luke Hohmann
luke@lukehohmann.com



0201775948P10112002

Foreword

Click below for Foreword(s) related to this title:
Martin Fowler Foreword

Guy Kawasaki Foweword

Index

Click below to download the Index file related to this title:
Index

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership