Effective Software Architecture: Building Better Software Faster (Early Release)

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Effective Software Architecture unites entire software development teams! Effective Software Architecture: Building Better Software Faster is the essential handbook for making software architecture an effective function within organizations and product development processes while putting whole software teams on the same page. Industry elite Oliver Goldman provides a comprehensive perspective on the set of real-world skills and practices this work requires: a predictable, repeatable design process; the ability to make decisions expediently and effectively; a comprehensive and consistent communication strategy; tools that promote efficiency; and a team that is greater than the sum of its parts. Goldman's engaging prose articulates how to make software architecture an effective tool for product development. Rather than focusing on a specific architectural style or technology, this book's goal is to make software architects better at design, decision making, and team communication while helping software product managers, program managers, UX designers, and other team members understand how architecture functions within the software development process. Goldman's work is essential to helping the whole team streamline thinking and communication processes for consistent team success. Understand software architecture as a team-thinking process Learn to effectively communicate with software architects Employ team architectural strategies for consistent, reliable results Make architecture an integral aspect of product development Integrate architectural thinking into whole development organizations

Author(s): Oliver Goldman
Publisher: Addison-Wesley
Year: 2024

Language: English
Commentary: raw and unedited
Pages: 184

Cover Page
Title Page
Contents
Table of Contents
Introduction
Focus
Motivation
Audience
Success
Chapter 1. Software Architecture
Fundamental Organization
Of a System
Embodied in Its Components
Their Relationships to Each Other
Their Relationships to the Environment
Principles Governing Its Design
And Evolution
Summary
References
Chapter 2. Context
Concepts
Dependability
Architecturally Significant Requirements
Product Families
Building Platforms
Standards
Summary
References
Chapter 3. Change
Stages of Change
Types of Change
Product-Driven Change
Technology-Driven Change
Simplicity
Investment Mindset
Incremental Delivery
Architectural Evolution
Summary
Chapter 4. Process
Document the System
Work Toward a Vision
Write Change Proposals
Maintain a Backlog
Consider Alternatives
Not Doing Things
Urgent versus Important
Redocument the System
Summary
References
Chapter 5. Design
How Architecture Accelerates Design
How Design Forces Architectural Evolution
Decomposition
Composition
Composition and Platforms
Incrementalism
Parallelism
Organizational Structure
Work in the Open
Giving Up
Done
Summary
References
Chapter 6. Decisions
Will More Information Help?
What’s Happening in the Meantime?
How Many Decisions Are in Play?
What’s the Cost of Not Doing It?
Can I Live with This Change?
What Is the Cost of Getting This Wrong?
How Much More Certain Can I Be?
Is This My Decision to Make?
Am I Aligned?
Can I Document It?
Summary
Reference
Chapter 7. Practices
Backlog
Catalogs
Templates
Reviews
Status
Velocity
Thinking
Summary
References
Chapter 8. Communication
Mental Models
Writing
Talking
Information Architecture
Naming Things
Dictionaries
Listening
Summary
References
Chapter 9. The Architecture Team
Specialization
Structure
Leadership
Responsibility
Talent
Diversity
Culture
Gathering
Seminars and Summits
Summary
Chapter 10. The Product Team
Working with Development Methodologies
Working with Product Management
Working with User Experience
Working with Program Management
Working with Engineering
Working with Testing
Working with Operations
Summary
Conclusion
Vision
Architectural Recovery
Organizational Change
The Change Process
Final Thoughts
Author BIO