Description: Even now, software projects keep failing at an alarming rate, many that make it out the door are rife with defects, and even "reliable” software systems often don't meet expectations. Rank and file programmers act as mere technicians; software architects are inadequately trained for success, and the information available to them is haphazard, inconsistent, or wrong. In Righting Software, Juval Löwy helps overcome these problems by introducing a structured and highly engineered approach for system and project design that's proven to work. Löwy's software design methodology integrates two components that are intimately connected: system design (commonly known as architecture) and project design. Together, these comprise software design. For system design, he presents an engineered method for decomposing a system into smaller building blocks, or services - addressing the area where the vast majority of software architects currently fail. Next, he shows how to flow an effective project design from your system design, accurately calculating planned duration, cost, and risk, and devising several good execution options. The techniques and ideas in Righting Software apply regardless of software technologies, platforms, project size, company size, or industry - and they're specifically designed to address today's core causes of software failure. Targets the specific reasons so many software projects still fail, even when they're carefully architected and developed with agile methods Helps students integrate the two key elements of software design that must work together: system design and project design Includes a complete, start-to-finish case study By Microsoft Software Legend Juval Löwy, one of the world's leading experts in effective software engineering 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
Price: 55.28 USD
Location: East Hanover, New Jersey
End Time: 2025-01-03T20:20:27.000Z
Shipping Cost: 0 USD
Product Images
Item Specifics
Return shipping will be paid by: Buyer
All returns accepted: Returns Accepted
Item must be returned within: 60 Days
Refund will be given as: Money Back
Return policy details:
EAN: 9780136524038
UPC: 9780136524038
ISBN: 9780136524038
MPN: N/A
Book Title: Righting Software by Loewy, Juval [Paperback]
Number of Pages: 480 Pages
Publication Name: Righting Software
Language: English
Publisher: Addison Wesley Professional
Subject: Software Development & Engineering / General
Publication Year: 2019
Item Height: 0.9 in
Item Weight: 23.5 Oz
Type: Textbook
Subject Area: Computers
Item Length: 9 in
Author: Juval Löwy
Item Width: 7 in
Format: Trade Paperback