Prix bas
CHF50.30
Habituellement expédié sous 2 à 4 semaines.
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.
Auteur
Juval Löwy, founder of IDesign, is a master software architect specializing in system and project design. He has helped countless companies around the world deliver quality software on schedule and on budget. Recognized by Microsoft as one of the world’s top experts and industry leaders, he participated in internal strategic design reviews for C#, WCF, and related technologies, and was named a “Software Legend.” He has published several best-sellers and numerous articles on almost every aspect of modern software development. Löwy speaks frequently at major international software development conferences and conducts Master Classes around the world, teaching thousands of professionals the skills required of modern software architects and how to take an active role as design, process, and technology leaders.
Résumé
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öwys 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 careersand 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.
Contenu
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
Whats 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
TimeCost Curve 214
Project Cost Elements 222
Network Compression 231
Chapter 10: Risk 235
Choosing Options 235
TimeRisk 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
TimeCost 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