Modern Software Engineering - David Farley

David Farley

Modern Software Engineering

Doing What Works to Build Better Software Faster. Empfohlen von 18 bis 67 Jahre. 1. Auflage. Sprachen: Englisch
eBook (pdf), 256 Seiten
EAN 9780137314782
Veröffentlicht November 2021
Verlag/Hersteller Pearson ITP

Auch erhältlich als:

Buch (Softcover)
37,49
36,49 inkl. MwSt.
Teilen
Beschreibung

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. - Clarify what you're trying to accomplish - Choose your tools based on sensible criteria - Organize work and systems to facilitate continuing incremental progress - Evaluate your progress toward thriving systems, not just more "legacy code" - Gain more value from experimentation and empiricism - Stay in control as systems grow more complex - Achieve rigor without too much rigidity - Learn from history and experience - Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Portrait

David Farley, founder and consultant for Continuous Delivery Ltd., has been a programmer, software engineer, and systems architect since the early days of modern computing. He has shaped ground-breaking approaches that have transformed how developers and teams work. With Jez Humble, Farley coauthored the best-seller Continuous Delivery. As Head of Software Development for the London Multi Asset Exchange (LMAX), he built one of the world's fastest financial exchanges. One of the earliest adopters of agile techniques employing iterative development, continuous integration, and high levels of automated testing, he also coauthored the Reactive Manifesto. Dave also runs the popular and highly successful "Continuous Delivery" YouTube channel.

Inhaltsverzeichnis

Foreword xvii Preface xxi Acknowledgments xxv About the Author xxvii Part I: What Is Software Engineering? 1 Chapter 1: Introduction 3 Engineering--The Practical Application of Science 3 What Is Software Engineering? 4 Reclaiming "Software Engineering" 5 The Birth of Software Engineering 7 Shifting the Paradigm 8 Summary 9 Chapter 2: What Is Engineering? 11 Production Is Not Our Problem 11 Design Engineering, Not Production Engineering 12 A Working Definition of Engineering 17 Engineering != Code 17 Why Does Engineering Matter? 19 The Limits of "Craft" 19 Precision and Scalability 20 Managing Complexity 21 Repeatability and Accuracy of Measurement 22 Engineering, Creativity, and Craft 24 Why What We Do Is Not Software Engineering 25 Trade-Offs 26 The Illusion of Progress 26 The Journey from Craft to Engineering 27 Craft Is Not Enough 28 Time for a Rethink? 28 Summary 30 Chapter 3: Fundamentals of an Engineering Approach 31 An Industry of Change? 31 The Importance of Measurement 32 Applying Stability and Throughput 34 The Foundations of a Software Engineering Discipline 36 Experts at Learning 36 Experts at Managing Complexity 37 Summary 38 Part II: Optimize for Learning 41 Chapter 4: Working Iteratively 43 Practical Advantages of Working Iteratively 45 Iteration as a Defensive Design Strategy 46 The Lure of the Plan 48 Practicalities of Working Iteratively 54 Summary 55 Chapter 5: Feedback 57 A Practical Example of the Importance of Feedback 58 Feedback in Coding 60 Feedback in Integration 61 Feedback in Design 63 Feedback in Architecture 65 Prefer Early Feedback 67 Feedback in Product Design 68 Feedback in Organization and Culture 68 Summary 70 Chapter 6: Incrementalism 71 Importance of Modularity 72 Organizational Incrementalism 73 Tools of Incrementalism 74 Limiting the Impact of Change 76 Incremental Design 77 Summary 79 Chapter 7: Empiricism 81 Grounded in Reality 82 Separating Empirical from Experimental 82 "I Know That Bug!" 82 Avoiding Self-Deception 84 Inventing a Reality to Suit Our Argument 85 Guided by Reality 88 Summary 89 Chapter 8: Being Experimental 91 What Does "Being Experimental" Mean? 92 Feedback 93 Hypothesis 94 Measurement 95 Controlling the Variables 96 Automated Testing as Experiments 97 Putting the Experimental Results of Testing into Context 98 Scope of an Experiment 100 Summary 100 Part III: Optimize for Managing Complexity 103 Chapter 9: Modularity 105 Hallmarks of Modularity 106 Undervaluing the Importance of Good Design 107 The Importance of Testability 108 Designing for Testability Improves Modularity 109 Services and Modularity 115 Deployability and Modularity 116 Modularity at Different Scales 118 Modularity in Human Systems 118 Summary 120 Chapter 10: Cohesion 121 Modularity and Cohesion: Fundamentals of Design 121 A Basic Reduction in Cohesion 122 Context Matters 125 High-Performance Software 128 Link to Coupling 129 Driving High Cohesion with TDD 129 How to Achieve Cohesive Software 130 Costs of Poor Cohesion 132 Cohesion in Human Systems 133 Summary 133 Chapter 11: Separation of Concerns 135 Dependency Injection 139 Separating Essential and Accidental Complexity 139 Importance of DDD 142 Testability 144 Ports & Adapters 145 When to Adopt Ports & Adapters 147 What Is an API? 148 Using TDD to Drive Separation of Concerns 149 Summary 150 Chapter 12: Information Hiding and Abstraction 151 Abstraction or Information Hiding 151 What Causes "Big Balls of Mud"? 152 Organizational and Cultural Problems 152 Technical Problems and Problems of Design 154 Fear of Over-Engineering 157 Improving Abstraction Through Testing 159 Power of Abstraction 160 Leaky Abstractions 162 Picking Appropriate Abstractions 163 Abstractions from the Problem Domain 165 Abstract Accidental Complexity 166 Isolate Third-Party Systems and Code 168 Always Prefer to Hide Information 169 Summary 170 Chapter 13: Managing Coupling 171 Cost of Coupling 171 Scaling Up 172 Microservices 173 Decoupling May Mean More Code 175 Loose Coupling Isn't the Only Kind That Matters 176 Prefer Loose Coupling 177 How Does This Differ from Separation of Concerns? 178 DRY Is Too Simplistic 179 Async as a Tool for Loose Coupling 180 Designing for Loose Coupling 182 Loose Coupling in Human Systems 182 Summary 184 Part IV: Tools to Support Engineering in Software 185 Chapter 14: The Tools of an Engineering Discipline 187 What Is Software Development? 188 Testability as a Tool 189 Measurement Points 192 Problems with Achieving Testability 193 How to Improve Testability 196 Deployability 197 Speed 199 Controlling the Variables 200 Continuous Delivery 201 General Tools to Support Engineering 202 Summary 203 Chapter 15: The Modern Software Engineer 205 Engineering as a Human Process 207 Digitally Disruptive Organizations 207 Outcomes vs. Mechanisms 210 Durable and Generally Applicable 211 Foundations of an Engineering Discipline 214 Summary 215 Index 217

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „Sofort online lesen über Meine Bibliothek“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Libri GmbH
Friedensallee 273

DE - 22763 Hamburg

E-Mail: GPSR@libri.de

Website: www.libri.de

Das könnte Sie auch interessieren

Orwell George Orwell
Animal Farm
eBook (epub)
Sofort lieferbar (Download)
0,00
Rachel Reid
Heated Rivalry
eBook (epub)
Sofort lieferbar (Download)
5,33
Rachel Reid
The Long Game
eBook (epub)
Sofort lieferbar (Download)
5,33
Robert Galbraith
The Hallmarked Man
eBook (epub)
Sofort lieferbar (Download)
16,99
Rachel Reid
Game Changer
eBook (epub)
Sofort lieferbar (Download)
5,33
Herman Melville
Moby Dick - classic
eBook (epub)
Sofort lieferbar (Download)
0,00
Ian McEwan
What We Can Know
eBook (epub)
Sofort lieferbar (Download)
14,99
Sofort lieferbar (Download)
0,00
Rachel Reid
Game Changers Collection
eBook (epub)
Sofort lieferbar (Download)
11,06
Ali Hazelwood
Mate
eBook (epub)
Sofort lieferbar (Download)
0,99
Rachel Reid
Game Changers Volume 2
eBook (epub)
Sofort lieferbar (Download)
11,06
Rachel Reid
Tough Guy
eBook (epub)
Sofort lieferbar (Download)
5,33
Virginia Woolf
The Complete Works - Virginia Woolf
eBook (epub)
Sofort lieferbar (Download)
0,99
Dan Brown
The Secret of Secrets
eBook (epub)
Sofort lieferbar (Download)
16,99
Rachel Reid
Role Model
eBook (epub)
Sofort lieferbar (Download)
5,33
Alison Espach
The Wedding People
eBook (epub)
Sofort lieferbar (Download)
0,99
Robert Jackson Bennett
The Tainted Cup
eBook (epub)
Sofort lieferbar (Download)
0,99
Bram Stoker
Dracula
eBook (epub)
Sofort lieferbar (Download)
0,00
Elizabeth George
A Slowly Dying Cause
eBook (epub)
Sofort lieferbar (Download)
15,99
Rachel Reid
Common Goal
eBook (epub)
Sofort lieferbar (Download)
5,33
Ali Hazelwood
The Love Hypothesis
eBook (epub)
Sofort lieferbar (Download)
0,99
Jane Austen
Emma
eBook (epub)
Sofort lieferbar (Download)
0,01
Richard Osman
The Impossible Fortune
eBook (epub)
Sofort lieferbar (Download)
14,99
Ali Hazelwood
Deep End
eBook (epub)
Sofort lieferbar (Download)
6,49
Ken Follett
Circle of Days
eBook (epub)
Sofort lieferbar (Download)
15,99
Ben Aaronovitch
Stone and Sky
eBook (epub)
Sofort lieferbar (Download)
12,99
Senlinyu
Alchemised
eBook (epub)
Sofort lieferbar (Download)
16,99
Ali Hazelwood
Bride
eBook (epub)
Sofort lieferbar (Download)
5,99
Rebecca Yarros
Onyx Storm
eBook (epub)
Sofort lieferbar (Download)
13,99
Rebecca Yarros
Fourth Wing
eBook (epub)
Sofort lieferbar (Download)
6,49
John Irving
Queen Esther
eBook (epub)
Sofort lieferbar (Download)
14,83
Emily Brontë
Wuthering Heights
eBook (epub)
Sofort lieferbar (Download)
0,00
Colleen Hoover
Finding Cinderella
eBook (epub)
Sofort lieferbar (Download)
0,00
Kaliane Bradley
The Ministry of Time
eBook (epub)
Sofort lieferbar (Download)
5,99
Richard Osman
The Thursday Murder Club
eBook (epub)
Sofort lieferbar (Download)
8,99
Mai Mochizuki
The Full Moon Coffee Shop
eBook (epub)
Sofort lieferbar (Download)
0,99