Published by Addison-Wesley Professional (March 10, 2021) © 2020

Juval Löwy
    VitalSource eTextbook (Lifetime access)
    €37,99
    Adding to cart… The item has been added
    ISBN-13: 9780136524021

    Righting Software ,1st edition

    Language: English

    Right Your Software and Transform Your Career

    Righting Software presents the proven, structured, and highly engineered approach to software design that renowned architect Juval Löwy has practiced and taught around the world. Although companies of every kind have successfully implemented his original design ideas across hundreds of systems, these insights have never before appeared in print.

    Based on first principles in software engineering and a comprehensive set of matching tools and techniques, Löwy’s methodology integrates system design and project design. First, he describes the primary area where many software architects fail and shows how to decompose a system into smaller building blocks or services, based on volatility. Next, he shows how to flow an effective project design from the system design; how to accurately calculate the project duration, cost, and risk; and how to devise multiple execution options.

    The method and principles in Righting Software apply regardless of your project and company size, technology, platform, or industry. Löwy starts the reader on a journey that addresses the critical challenges of software development today by righting software systems and projects as well as careers—and possibly the software industry as a whole. Software professionals, architects, project leads, or managers at any stage of their career will benefit greatly from this book, which provides guidance and knowledge that would otherwise take decades and many projects to acquire.

    Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
    Preface xxiii
    About the Author xxxiii


    Chapter 1: The Method 3
    What Is The Method? 4
    What The Method Is Not 9

    Part I: System Design 11

    Chapter 2: Decomposition 13

    Avoid Functional Decomposition 14
    Volatility-Based Decomposition 30
    Identifying Volatility 37

    Chapter 3: Structure 55
    Use Cases and Requirements 56
    Layered Approach 58
    Typical Layers 60
    Classification Guidelines 65
    Subsystems and Services 70
    Open and Closed Architectures 75

    Chapter 4: Composition 83
    Requirements and Changes 83
    Composable Design 85
    There Is No Feature 91
    Handling Change 92

    Chapter 5: System Design Example 95
    System Overview 96
    The Anti-Design Effort 106
    Business Alignment 108
    The Architecture 111
    Design Validation 124
    What’s Next? 135

    Part II: Project Design 137

    Chapter 6: Motivation 139
    Why Project Design? 139

    Chapter 7: Project Design Overview 145
    Defining Success 145
    Project Initial Staffing 147
    Educated Decisions 151
    Services and Developers 153
    Effort Estimations 157
    Critical Path Analysis 166
    Scheduling Activities 176
    Project Cost 184
    Earned Value Planning 187
    Roles and Responsibilities 194

    Chapter 8: Network and Float 195
    The Network Diagram 195
    Floats 199
    Floats-Based Scheduling 205

    Chapter 9: Time and Cost 207
    Accelerating Software Projects 207
    Schedule Compression 210
    Time–Cost Curve 214
    Project Cost Elements 222
    Network Compression 231

    Chapter 10: Risk 235
    Choosing Options 235
    Time–Risk Curve 236
    Risk Modeling 239
    Compression and Risk 248
    Risk Decompression 249
    Risk Metrics 253

    Chapter 11: Project Design in Action 255
    The Mission 255
    Finding the Normal Solution 265
    Network Compression 276
    Efficiency Analysis 289
    Time–Cost Curve 290
    Planning and Risk 293
    SDP Review 303

    Chapter 12: Advanced Techniques 307
    God Activities 307
    Risk Crossover Point 308
    Finding the Decompression Target 313
    Geometric Risk 315
    Execution Complexity 320
    Very Large Projects 324
    Small Projects 331
    Design by Layers 332

    Chapter 13: Project Design Example 335
    Estimations 335
    Dependencies and Project Network 339
    The Normal Solution 341
    Compressed Solution 346
    Design by Layers 350
    Subcritical Solution 353
    Comparing the Options 355
    Planning and Risk 355
    Preparing for the SDP Review 359

    Chapter 14: Concluding Thoughts 361
    When to Design a Project 361
    General Guidelines 365
    Design of Project Design 370
    In Perspective 372
    The Hand-Off 374
    In Practice 377
    Debriefing Project Design 378
    About Quality 379

    Appendix A: Project Tracking 387
    Activity Life Cycle and Status 388
    Project Status 392
    Tracking Progress and Effort 395
    Projections 396
    Projections and Corrective Actions 398
    More on Projections 404

    Appendix B: Service Contract Design 407
    Is This a Good Design? 407
    Modularity and Cost 409
    Services and Contracts 411
    Factoring Contracts 415
    Contract Design Metrics 419
    The Contract Design Challenge 423

    Appendix C: Design Standard 425
    The Prime Directive 426
    Directives 426
    System Design Guidelines 426
    Project Design Guidelines 427
    Project Tracking Guidelines 429
    Service Contract Design Guidelines 430

    Index 431