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.
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.
Ask a Question About this Product More... |