Читать книгу The Essentials of Modern Software Engineering - Ivar Jacobson - Страница 7
ОглавлениеContents
Foreword by Ian Sommerville | ||
Foreword by Grady Booch | ||
Preface | ||
PART I | THE ESSENCE OF SOFTWARE ENGINEERING | |
Chapter 1 | From Programming to Software Engineering1.1 Beginning with Programming1.2 Programming Is Not Software Engineering1.3 From Internship to Industry1.4 Journey into the Software Engineering ProfessionWhat Should You Now Be Able to Accomplish? | |
Chapter 2 | Software Engineering Methods and Practices2.1 Software Engineering Challenges2.2 The Rise of Software Engineering Methods and Practices2.3 The SEMAT Initiative2.4 Essence: The OMG StandardWhat Should You Now Be Able to Accomplish? | |
Chapter 3 | Essence in a Nutshell3.1 The Ideas3.2 Methods Are Compositions of Practices3.3 There Is a Common Ground3.4 Focus on the Essentials3.5 Providing an Engaging User ExperienceWhat Should You Now Be Able to Accomplish? | |
Chapter 4 | Identifying the Key Elements of Software Engineering4.1 Getting to the Basics4.2 Software Engineering Is about Delivering Value to Customers4.3 Software Engineering Delivers Value through a Solution4.4 Software Engineering Is Also about EndeavorsWhat Should You Now Be Able to Accomplish? | |
Chapter 5 | The Language of Software Engineering5.1 A Simple Practice Example5.2 The Things to Work With5.3 Competencies5.4 Things to Do5.5 Essentializing PracticesWhat Should You Now Be Able to Accomplish? | |
Chapter 6 | The Kernel of Software Engineering6.1 Organizing with the Essence Kernel6.2 The Essential Things to Work With: The Alphas6.3 The Essential Things to Do: The Activities6.4 Competencies6.5 PatternsWhat Should You Now Be Able to Accomplish? | |
Chapter 7 | Reflection on Theory7.1 Where’s the Theory for Software Engineering?7.2 Uses of Theory7.3 Essence Is a General, Descriptive Theory of Software Engineering7.4 Toward a General Predictive Theory of Software Engineering7.5 A Theoretical Foundation Helps You GrowWhat Should You Now Be Able to Accomplish?Postlude to Part IRecommended Additional Reading | |
Chapter 8 | Applying Essence in the Small—Playing Serious Games8.1 Progress Poker8.2 Chasing the State8.3 Objective Go8.4 Checkpoint Construction8.5 ReflectionWhat Should You Now Be Able to Accomplish? | |
PART II | DEVELOPING SOFTWARE WITH ESSENCE | |
Chapter 9 | Kick-Starting Development Using Essence9.1 Understand the Context Through the Lens of Essence9.2 Agreeing on the Development Scope and Checkpoints9.3 Agreeing on the Most Important Things to WatchWhat Should You Now Be Able to Accomplish? | |
Chapter 10 | Developing with Essence10.1 Planning with Essence10.2 Doing and Checking with Essence10.3 Adapting a Team’s Way of Working with Essence10.4 How the Kernel Helps Adapt Their Way of WorkingWhat Should You Now Be Able to Accomplish? | |
Chapter 11 | The Development Journey11.1 Visualizing the Journey11.2 Ensuring Progress and Health11.3 Dealing with AnomaliesWhat Should You Now Be Able to Accomplish? | |
Chapter 12 | Reflection on the Kernel12.1 Validity of the Kernel12.2 Applying the Kernel EffectivelyWhat Should You Now Be Able to Accomplish?PostludeRecommended Additional Reading | |
PART III | SMALL-SCALE DEVELOPMENT WITH PRACTICES | |
Chapter 13 | Kick-Starting Development with Practices13.1 Understand the Context Through the Lens of Essence13.2 Agree upon Development Scope and Checkpoints13.3 Agree upon Practices to Apply13.4 Agree upon the Important Things to Watch13.5 Journey in BriefWhat Should You Now Be Able to Accomplish? | |
Chapter 14 | Running with Scrum14.1 Scrum Explained14.2 Practices Make a Software Engineering Approach Explicit and Modular14.3 Making Scrum Explicit Using Essence14.4 Scrum Lite Alphas14.5 Scrum Lite Work Products14.6 Scrum Lite Roles14.7 Kick-Starting Scrum Lite Usage14.8 Working with Scrum Lite14.9 Reflecting on the Use of Scrum with EssenceWhat Should You Now Be Able to Accomplish? | |
Chapter 15 | Running with User Story Lite15.1 User Stories Explained15.2 Making the User Story Lite Practice Explicit Using Essence15.3 User Story Lite Alphas15.4 User Story Lite Work Products15.5 Kick-Starting User Story Lite Usage15.6 Working with User Story Lite15.7 The Value of the Kernel to the User Story Lite PracticeWhat Should You Now Be Able to Accomplish? | |
Chapter 16 | Running with Use Case Lite16.1 Use Cases Explained16.2 Making the Use Case Lite Practice Explicit Using Essence16.3 Use Case Lite Alphas16.4 Use Case Lite Work Products16.5 Kick-Starting Use Cases Lite to Solve a Problem Our Team Is Facing16.6 Working with Use Cases and Use-Case Slices16.7 Visualizing the Impact of Using Use Cases for the Team16.8 Progress and Health of Use-Case Slices16.9 User Stories and Use Cases—What Is the Difference?What Should You Now Be Able to Accomplish? | |
Chapter 17 | Running with Microservices17.1 Microservices Explained17.2 Making the Microservice Practice Explicit Using Essence17.3 Microservices Lite17.4 Microservices Lite Alphas17.5 Microservices Lite Work Products17.6 Microservices Lite Activities17.7 Visualizing the Impact of the Microservices Lite Practice on the Team17.8 Progress and Health of Microservice DevelopmentWhat Should You Now Be Able to Accomplish? | |
Chapter 18 | Putting the Practices Together: Composition18.1 What Is Composition?18.2 Reflecting on the Use of Essentialized Practices18.3 Powering Practices through EssentializationWhat Should You Now Be Able to Accomplish?Recommended Additional Reading | |
PART IV | LARGE-SCALE COMPLEX DEVELOPMENT | |
Chapter 19 | What It Means to Scale19.1 The Journey Continued19.2 The Three Dimensions of ScalingWhat Should You Now Be Able to Accomplish? | |
Chapter 20 | Essentializing Practices20.1 Practice Sources20.2 Monolithic Methods and Fragmented Practices20.3 Essentializing Practices20.4 Establishing a Reusable Practice ArchitectureWhat Should You Now Be Able to Accomplish? | |
Chapter 21 | Scaling Up to Large and Complex Development21.1 Large-Scale Methods21.2 Large-Scale Development21.3 Kick-Starting Large-Scale Development21.4 Running Large-Scale Development21.5 Value of Essence to Large-Scale DevelopmentWhat Should You Now Be Able to Accomplish? | |
Chapter 22 | Reaching Out to Different Kinds of Development22.1 From a Practice Architecture to a Method Architecture22.2 Establishing a Practice Library within an Organization22.3 Do Not Ignore Culture When Reaching OutWhat Should You Now Be Able to Accomplish? | |
Chapter 23 | Reaching Out to the Future23.1 Be Agile with Practices and Methods23.2 The Full Team Owns Their Method23.3 Focus on Method Use23.4 Evolve Your Team’s MethodWhat Should You Now Be Able to Accomplish?Recommended Additional Reading | |
Appendix A | A Brief History of Software and Software Engineering | |
References | ||
Index | ||
Author Biographies |