[PDF Download] Domain storytelling a collaborative visual and agile way to build domain driven softw

Page 1


Visit to download the full and correct content document: https://textbookfull.com/product/domain-storytelling-a-collaborative-visual-and-agile-w ay-to-build-domain-driven-software-addison-wesley-signature-series-vernon-1st-editio n-hofer/

More products digital (pdf, epub, mobi) instant download maybe you interests ...

Agile Transformation Using the Integral Agile Transformation Framework to Think and Lead Differently Addison Wesley Signature Series Cohn 1st Edition Spayd

https://textbookfull.com/product/agile-transformation-using-theintegral-agile-transformation-framework-to-think-and-leaddifferently-addison-wesley-signature-series-cohn-1st-editionspayd/

Unlocking Agility An Insider s Guide to Agile Enterprise Transformation Addison Wesley Signature Series Cohn 1st Edition Hesselberg

https://textbookfull.com/product/unlocking-agility-an-insider-sguide-to-agile-enterprise-transformation-addison-wesleysignature-series-cohn-1st-edition-hesselberg/

Domain Modeling Made Functional Tackle software complexity with domain driven design and F Scott Wlaschin

https://textbookfull.com/product/domain-modeling-made-functionaltackle-software-complexity-with-domain-driven-design-and-f-scottwlaschin/

Domain-Driven Laravel: Learn to Implement Domain-Driven Design Using Laravel Jesse Griffin

https://textbookfull.com/product/domain-driven-laravel-learn-toimplement-domain-driven-design-using-laravel-jesse-griffin/

JavaScript Domain Driven Design 1st Edition Fehre

https://textbookfull.com/product/javascript-domain-drivendesign-1st-edition-fehre/

Understanding Software Dynamics Addison Wesley Professional Computing Series 1st Edition Richard L. Sites

https://textbookfull.com/product/understanding-software-dynamicsaddison-wesley-professional-computing-series-1st-edition-richardl-sites/

Test Driven Development in Ruby A Practical Introduction to TDD Using Problem and Solution Domain Analysis Paranj

https://textbookfull.com/product/test-driven-development-in-rubya-practical-introduction-to-tdd-using-problem-and-solutiondomain-analysis-paranj/

The Unconscious Domain Henry Kellerman

https://textbookfull.com/product/the-unconscious-domain-henrykellerman/

Functional and Reactive Domain Modeling 1st Edition

Debasish Ghosh

https://textbookfull.com/product/functional-and-reactive-domainmodeling-1st-edition-debasish-ghosh/

Praise for Domain Storytelling

“This book provides a wonderful introduction to an approachable, structured, narrativebased technique for collaborative domain modeling. And for those wanting to go deeper, Stefan and Henning will help you not only to avoid common facilitation pitfalls, but also to integrate the domain knowledge into your everyday development work.”

—Paul Rayner, author of The EventStorming Handbook

“This book is destined to be the definitive resource on Domain Storytelling for many years.”

—Mike Cohn, co-founder of the Agile Alliance

“Until now, when people talk about visualization, they usually mean ‘words in boxes on a whiteboard.’ Representing the user’s needs and journeys has been somewhat awkward, with either long form descriptions or series of wireframes. What Stefan and Henning have achieved is a method that shows what’s really happening. A Domain Storytelling model shows who’s doing what with whom, in what order, and for what purpose, in a clear, truly visual way. It’s easy enough to learn how to build these models, but more importantly, an uninitiated reader can understand and critique the models at first sight. That makes Domain Storytelling a powerful communication tool that I believe will become widely used in software product companies and beyond.”

—Mathias Verraes, curator of Domain-Driven Design Europe

“This is a great addition to any Domain-Driven Design practitioner’s bookshelf.”

—Julie Lerman, software coach, The Data Farm

“All organizations are being disrupted through the rapid advance of change, and my job is to teach people how to apply the Kanban method in their business life. In that context we use Domain Storytelling while exploring and extracting value streams in organizations in a very successful way. With their book, Stefan Hofer and Henning Schwentner explain how collaboration can and does lead the way to transforming our ways of working.”

—Altuğ Bilgin Altıntaş, business agility engineer, accredited Kanban trainer & coach, author of Kanban Metodu ile Çeviklik, co-organizer of FlowConf

“From a story to working software—this book helps you to get to the essence of what to build. Highly recommended!”

“This book is a rare achievement, combining a pragmatic guide to a powerful domain modeling technique and a wealth of distilled insights from key aspects of Domain-Driven Design, without being a tome. The authors present a convincing case that conversational stories told and visualized in a natural language pave the fastest path to quality business software. Be prepared for fingers itching to start your own Domain Storytelling while reading the well-curated case studies.”

—Xin Yao, chief software architect at Danske Bank

“Practicing Domain Storytelling is a journey towards deep and true understanding of the problem domain you are working on. While discovering subtle inner workings of the business, be prepared for some unexpected solutions to reveal themselves along the way. This book will put you in a position to embark on that journey on your own and will guide you along the way.”

—Mufrid Krilic, DDD and Domain Storytelling practitioner

“Domain Storytelling served as a key bridge between our business, products, and technology stacks, and between our past to our future. Using the practice, everyone who participated from P&L and Operations team leaders to individual engineers and product leads levelled-up their understanding of where we intended (and needed) to take the business, aligned with each other, and understood how crossfunctional product and engineering teams would function within the relevant bounded contexts that collectively represented our future business model. And many (even most!) found it a fun and liberating process.

Domain Storytelling is a practical methodology rooted in the language and context of customers and business, so accessible and valuable to cross-functions (not just engineering) within your business. I recommend the book and, more importantly, the methodology!”

“As a product manager I really love visualization. Domain Storytelling was one of the techniques I met at the very beginning of my Domain-Driven Design journey (in 2017). I was impressed, amazed, and at the same time surprised in a very positive way that this is exactly what is needed by someone who facilitates the communication between development teams and business. It is very easy to learn and focuses on the pictographic language that makes it possible for literally everyone to understand and take advantage of. I would recommend using it immediately; don’t think too much, just start and go with the flow! Believe me it will be worth it. :)”

—Zsófia Herendi, product manager

The Pictographic Language

Building Block Examples

Actor

Work Object

Activity

Sequence Number

Annotation

Group

Definition

Represents a person or software system that plays an active role in a domain story.

Represents something an actor works on/with.

What an actor is doing with a work object.

Notes the order of a sentence in relation to other sentences.

Textual information like a note. Can be about a building block, a sentence, or about the domain story as a whole.

Clusters parts of a domain story that somehow belong together. Usually drawn as an outline, e.g., a rectangular shape.

The building blocks are used to form the sentences of a domain story. Example: A movie theater employee tells you, “the moviegoer watches a film.” You draw: moviegoer watches film

Typical Sentence Structures

Domain Storytelling

Pearson Addison-Wesley Signature Series

Visit informit.com/awss/vernon for a complete list of available publications.

The Pearson Addison-Wesley Signature Series provides readers with practical and authoritative information on the latest trends in modern technology for computer professionals. The series is based on one simple premise: great books come from great authors.

Vaughn Vernon is a champion of simplifying software architecture and development, with an emphasis on reactive methods. He has a unique ability to teach and lead with Domain-Driven Design using lightweight tools to unveil unimagined value. He helps organizations achieve competitive advantages using enduring tools such as architectures, patterns, and approaches, and through partnerships between business stakeholders and software developers.

Vaughn’s Signature Series guides readers toward advances in software development maturity and greater success with business-centric practices. The series emphasizes organic refinement with a variety of approaches—reactive, object, and functional architecture and programming; domain modeling; right-sized services; patterns; and APIs—and covers best uses of the associated underlying technologies.

Domain Storytelling

A Collaborative, Visual, and Agile Way to Build Domain-Driven Software

Boston • Columbus • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sydney • Hong Kong • Seoul • Singapore • Taipei • Tokyo

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals.

The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.

For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales department at corpsales@ pearsoned.com or (800) 382-3419.

For government sales inquiries, please contact governmentsales@pearsoned.com.

For questions about sales outside the U.S., please contact intlcs@pearson.com.

Visit us on the Web: informit.com/aw

Library of Congress Control Number: 2021943443

Copyright © 2022 Pearson Education, Inc.

Cover image: salajean/Shutterstock

Figure 5.6: © Henning Schwentner

Figure A.1: © Anita Krabbel

Figures A.2, A.3: © WPS – Workplace Solutions

Sunflower icon: VECTOR ICONS/Shutterstock

Checkmark and cross icons: sudowoodo/123RF

Car icon: AF studio/Shutterstock

Light bulb icon: Irina Adamovich/Shutterstock

All rights reserved. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, request forms and the appropriate contacts within the Pearson Education Global Rights & Permissions Department, please visit www.pearson.com/permissions/.

ISBN-13: 978-0-13-745891-2

ISBN-10: 0-13-745891-6

1 2021

To our families.

This page intentionally left blank

Chapter 5: Modeling Tools

Part

Chapter

Chapter 16: Conclusion

Appendix:

Glossary

Bibliography

Index

Domain Stories

Metropolis 1

Metropolis 1a Going to the movies—coarse-grained—grouped by subdomain ........................................

Metropolis 1b Going to the movies—coarse-grained—color shows legal requirements

Metropolis 2

Metropolis 3

Metropolis 4

Alphorn 2a

Alphorn 3b

Alphorn 4a

Alphorn 4b

Alphorn 6 Offering, happy path—fine-grained

Alphorn 7 Offering, rejection—fine-grained ....................... 156

Alphorn 8 Payment, standard case—pure ........................... 197

Alphorn 8a Payment, standard case—digitalized—with system Paynator ...................................... 198

Alphorn 8b Payment, standard case—digitalized—with system GreatPay 199

Alphorn 9 Payment, missing payment—pure ........................ 198

Alphorn 9a Payment, missing payment—digitalized— with system Paynator .................................. 200

Alphorn 9b Payment, missing payment—digitalized— with system GreatPay .................................. 200

Alphorn 10 Missing payments tracking—digitalized, as-is ............. 208

In German Traveling by taxi 124

In Farsi Traveling by airplane .................................. 125

In Chinese Traveling by train ..................................... 125

Series Editor Foreword

My signature series emphasizes organic growth and refinement, which I describe in more detail below. First, there’s a story of organic growth connected with this particular book.

My book, Implementing Domain-Driven Design, known as “the red book,” arrived at an important point in time. Prior to my red book there were only a handful of people with an accurate and thorough understanding of this advanced approach to software development—those who could be described as leaders. Related to this, few Domain-Driven Design (DDD) meetups and tools to help practitioners existed at that time. I co-founded the DDD Denver meetup in 2011, well before my red book was published in 2013, but that was one of perhaps five or so to be found anywhere. By 2021, you could find 142 Domain-Driven Design meetup groups globally, with 93,171 members, and they are still growing. When that number reached 10, and then 20, and then 25, did anyone think that they would eventually find nearly 150? As a result of this organic growth, the number of leaders and supporting tools provided for DDD also grew. Timing is everything, and I am thrilled to have contributed several catalysts at times when they were needed most, which led to the expansion of DDD. Before explaining how this book and its authors are involved in this organic growth, first consider the series that hosts it.

My signature series is designed and curated to guide readers toward advances in software development maturity and greater success with business-centric practices. The series emphasizes organic growth and refinement with a variety of approaches— reactive, object, as well as functional architecture and programming; domain modeling; right-sized services; patterns; and APIs—and covers best uses of the associated underlying technologies.

From here I am focusing now on only two words: organic refinement

The first word, organic, stood out to me recently when a friend and colleague used it to describe software architecture. I have heard and used the word organic in connection with software development, but I didn’t think about that word as carefully as I did then when I personally consumed the two used together: organic architecture

Think about the word organic, and even the word organism. For the most part these are used when referring to living things, but they are also used to describe inanimate things that feature some characteristics that resemble life-forms. Organic originates in Greek. Its etymology is with reference to a functioning organ of the body. If you read the etymology of organ, it has a broader use, and in fact organic followed

suit: body organs, to implement, describes a tool for making or doing, a musical instrument.

We can readily think of numerous organic objects—living organisms—from the very large to the microscopic single-celled life-forms. With the second use of organism, though, examples may not as readily pop into our mind. One example is an organization, which includes the prefix of both organic and organism. In this use of organism, I’m describing something that is structured with bidirectional dependencies. An organization is an organism because it has organized parts. This kind of organism cannot survive without the parts, and the parts cannot survive without the organism.

Taking that perspective, we can continue applying this thinking to nonliving things because they exhibit characteristics of living organisms. Consider the atom. Every single atom is a system unto itself, and all living things are composed of atoms. Yet, atoms are inorganic and do not reproduce. Even so, it’s not difficult to think of atoms as living things in the sense that they are endlessly moving, functioning. Atoms even bond with other atoms. When this occurs, each atom is not only a single system unto itself, but also becomes a subsystem along with other atoms as subsystems, with their combined behaviors yielding a greater whole system.

So then, all kinds of concepts regarding software are quite organic in that nonliving things are still “characterized” by aspects of living organisms. When we discuss software model concepts using concrete scenarios, or draw an architecture diagram, or write a unit test and its corresponding domain model unit, software starts to come alive. It isn’t static, because we continue to discuss how to make it better, subjecting it to refinement, where one scenario leads to another, and that has an impact on the architecture and the domain model. As we continue to iterate, the increasing value in refinements leads to incremental growth of the organism. As time progresses so does the software. We wrangle with and tackle complexity through useful abstractions, and the software grows and changes shapes, all with the explicit purpose of making work better for real living organisms at global scales.

Sadly, software organics tend to grow poorly more often than they grow well. Even if they start out life in good health, they tend to get diseases, become deformed, grow unnatural appendages, atrophy, and deteriorate. Worse still is that these symptoms are caused by efforts to refine the software that go wrong instead of making things better. The worst part is that with every failed refinement, everything that goes wrong with these complexly ill bodies doesn’t cause their death. (Oh, if they could just die!) Instead, we have to kill them and killing them requires nerves, skills, and the intestinal fortitude of a dragon slayer. No, not one, but dozens of vigorous dragon slayers. Actually, make that dozens of dragon slayers who have really big brains.

That’s where this series comes into play. I am curating a series designed to help you mature and reach greater success with a variety of approaches—reactive, object,

and functional architecture and programming; domain modeling; right-sized services; patterns; and APIs. And along with that, the series covers best uses of the associated underlying technologies. It’s not accomplished at one fell swoop. It requires organic refinement with purpose and skill. I and the other authors are here to help. To that end, we’ve delivered our very best to achieve our goal.

That’s why I chose this book, Domain Storytelling, to be among mine and others in my series. The previously noted organic expansion of DDD has resulted in new practitioners and leaders, as well as innovation in tools that support it. Collaborative modeling with this brilliant tool enables visual exploration while simultaneously capturing domain-driven discoveries and model usage scenarios with vital clarity that leads to increased success. Domain Storytelling should not be viewed as a replacement for previous tools, but an opportunity to gain a greater variety of instruments of knowledge acquisition. Novel and more challenging modeling situations call for an array of useful tools that can be employed together.

With this new book, Stefan Hofer and Henning Schwentner are establishing themselves as two of the new leaders. They have brought us an additional tool in Domain Storytelling, to be used for wrangling with greater complexities that we face today and will continue to face over the years ahead. That’s organic.

This page intentionally left blank

Foreword

In 2004, Eric Evans published Domain-Driven Design, a timeless book that has become an all-time classic in software engineering literature. Evans projected his vision of software developers as people who collaborated closely with subject matter experts to iteratively solve domain-related problems for users. At the time, this was heresy against mainstream practices oriented around data models, big up-front planning, and programmers as mere order-takers.

Evans’s text was a masterpiece, but still it was missing something. For a decade, DDD was perceived by the mainstream as a few programming patterns and became synonymous with over-engineering. Evans’s book spoke frequently about domain experts and technical experts crunching domain knowledge together, but it didn’t give readers enough practical guidance in the same way it did for the technical DDD patterns.

The mid-2010s saw a DDD renaissance, which continues to this day. Vaughn Vernon’s book Implementing Domain-Driven Design was pivotal in correcting many misconceptions and making DDD more approachable. And a new generation of practitioners led by Alberto Brandolini, including Stefan and Henning, emphatically added the missing piece of the DDD puzzle by introducing new collaborative modeling techniques into the community. The mainstream perception of DDD is now just as much sticky notes on the wall as it is programming design patterns. Evans’s 2004 prophecy is truly now a reality.

Domain Storytelling stands out for its pictographic, structured, and scenariobased nature. But this book is far more than a guide to Domain Storytelling. Stefan and Henning are passionate, intelligent, and experienced collaborative domain modelers. This book takes you into their brains through their thinking patterns and deep into the principles of collaborative domain modeling and workshop facilitation. This work provides insights that will be useful regardless of the technique you decide to use and regardless of how much you know about DDD. It may even inspire you to invent the next generation of collaborative modeling techniques.

I’ve had the chance to meet Stefan and Henning at numerous conferences. But one sticks out in my memory more than others: Explore DDD 2018 in Denver. Their enthusiasm for Domain Storytelling captivated the audience (including me) in a talk where they presented a case study of using Domain Storytelling to build systems that prevent ships getting stranded in the port of Hamburg. Their role play with props

was the icing on the cake. I also got to attend their hands-on Domain Storytelling workshop where their pure love of the game shone through and had attendees (including me) excitedly modeling the cinema experience.

I also have fond recollections of the night before the main conference. Eric Evans gave an evening keynote to officially kick off Explore DDD, and I was with Stefan and Henning at the social event afterwards. They made an effort to help conference attendees feel included by inviting them into discussions and striking up conversations, and they made us all belly laugh with their clever humor.

I hope this book provides you with the inspiration, enthusiasm, and smiles that Stefan and Henning have brought to me and many others.

Preface

Misunderstandings between software developers and people from the business departments are a common problem. Bad communication is a plague that makes projects fail. Domain Storytelling is a remedy because this technique transforms domain knowledge into effective business software. Domain Storytelling brings together domain experts, software developers, user experience designers, product owners, product managers, and business analysts on the same page. They learn from each other by telling stories and drawing them as easy-to-understand pictures.

Who Should Read This Book

The book is aimed at everyone involved or interested in software development, including nontechnical readers. There are only a few code examples, and, generally speaking, no prior knowledge is required. Where it makes sense, we point you to some recommended reading.

Beyond software development professionals, the book is also relevant to CxOs, executives, directors, team leads from business departments, and domain experts. They can use the book to improve their understanding of their business processes and to improve communication with their IT counterparts.

This Book in the Software Development Landscape

This book is meant to be a practical guide. We wanted to keep it concise, although we were tempted to write a book on Domain-Driven Design, domain modeling, requirements, agile, and software development in general. All of these topics are relevant to Domain Storytelling and are referenced in this book, but we tried not to dive too deep into topics that other authors have already addressed brilliantly. If you are curious, here is an (incomplete) list of authors who have influenced us:

• Heinz Züllighoven et al .: The Tools and Material Approach [Züllighoven 2004] is important for how we look at software development. It promotes usercentric software development and is built around the powerful metaphors tool and material. The book was first published in the late 1990s and covers topics such as iterative-incremental development, modeling, scenarios, and patterns for software construction.

• Eric Evans: Domain-Driven Design (DDD) [Evans 2004] shares many characteristics with the Tools and Material Approach, although the two were developed independently from each other. The concepts bounded context and ubiquitous language immediately resonated with us. DDD opened a new area of application for Domain Storytelling, influencing the direction in which we have been pushing the method in the last couple of years.

• Kent Beck et al .: The Agile Manifesto [Beck et al. 2001] put “individuals and interactions over processes and tools” and “working software over comprehensive documentation.” Domain Storytelling is about individuals and their interactions on two levels: (1) domain stories show people and their collaboration, and (2) the workshop in which these stories are told brings together humans to interact with each other. Extreme Programming (XP) brought the concept of stories into software development and introduced user stories to the agile world [Beck 1999, Beck/Andres 2004, and Cohn 2004].

• Alistair Cockburn: Writing Effective Use Cases [Cockburn 2001] is one of our favorite books on requirements. Even if you do not apply use cases, the book is worth a read. It shows how to follow an agile path from domain to software. We borrowed the idea of goal levels and applied it to Domain Storytelling.

• Gojko Adzic: Specification by Example [Adzic 2011] highlights the importance of conversations in software development. We started to view software development as a series of conversations about the domain and requirements, supported by several “conversation methods” like Domain Storytelling. We share Adzic’s views on requirements and the benefits of using examples.

• Christiane Floyd: We had the pleasure of learning from Professor Floyd at the University of Hamburg. She researched and taught (among other things) modeling theory, the limits of modeling, sociotechnical aspects of modeling and software development, and participatory design. She published papers in German and English. If you are curious, see for example “Software Development as Reality Construction” [Floyd 1992] and search for papers on her STEPS approach, an early example of what later became known as agile software development.

What This Book Covers

This book is divided into two parts: Part I explains the method, and Part II describes how to use and adapt it for specific purposes.

Part I, “Domain Storytelling Explained”: This part of the book contains everything you need to know to use Domain Storytelling for learning about a domain.

Chapter 1, “Introduction”: This chapter explains what Domain Storytelling actually is. Also, we introduce a case study that will give you a first impression of the method and show you why it is useful.

Chapter 2, “The Pictographic Language”: This chapter describes the graphical notation. To record domain stories visually, you need a set of symbols and rules for combining them. This chapter will also show you what we consider good language style and what pitfalls to avoid. If you have never tried Domain Storytelling, you should do so after finishing Chapter 2. Get out a piece of paper and a pen, and model a workflow that you are familiar with. However, before trying Domain Storytelling in a workshop situation, you should continue reading the rest of Part I.

Chapter 3, “Scenario-Based Modeling”: This chapter introduces you to one of the major differences between domain stories and other business process modeling languages: Every domain story is about one case. You will learn which cases you should model and how to keep an overview.

Chapter 4, “Scope”: This chapter is about the level of detail that stories have, whether they are descriptive or exploratory, and the amount of technical information they contain. You will need to consider all these factors every time you start a new domain story. This chapter will help you to choose the right scope.

Chapter 5, “Modeling Tools”: This summarizes our experience with different modeling tools. We recommend which tools are useful in which situations, describe their strengths and weaknesses, and give practical tips that will help you model more effortlessly.

Chapter 6, “The Workshop Format”: This chapter shows that Domain Storytelling works best when used for collaborative modeling. You will learn how to prepare, conduct, and follow up on a workshop. This chapter will help you to become a good moderator.

Chapter 7, “Relationship to Other Modeling Methods”: This chapter discusses other modeling methods and workshop formats and how to combine Domain Storytelling with them. This chapter will help you to pick the right tool for the right job.

Part II, “Purposes”: This part of the book deals with the different problems and purposes for which Domain Storytelling can be used. Even though we use the same example in all chapters of Part II, you do not have to read the chapters in order. Just pick the purposes that you are interested in.

Chapter 8, “Case Study—Alphorn Auto Leasing Inc.”: This chapter introduces a second, more comprehensive case study.

Chapter 9, “Learning Domain Language”: Speaking the language of the domain experts is the key for effective conversations about business processes and software requirements. This chapter is for you if you are new to a domain, if the software that you work on does not use real terms from the domain and you want to change that, or if you work in an organization where no real domain language exists and you want one to emerge.

Chapter 10, “Finding Boundaries”: Many domains are too big to be understood and modeled as a whole. You need to break down a domain into manageable units. Read this chapter if you are struggling with a monolith and want to reorganize it or split it into more manageable parts, if you want to design microservices, or if you want to apply Domain-Driven Design and have difficulties identifying bounded contexts. The chapter will also help if your development team has become too big to work efficiently or if you already have more than one development team and want to find out how you can organize the work for these teams.

Chapter 11, “Working with Requirements”: How do you bridge the gap between domain knowledge and requirements? We show you how to derive requirements from domain stories so that you can discuss priorities and viable products. This chapter is for you if you consider yourself a product owner, product manager, business analyst, requirements engineer, or developer in a cross-functional team that does its own requirements analysis.

Chapter 12, “Modeling in Code”: If your ultimate goal is to develop software, then, at some point, you need to move from modeling with diagrams and sticky notes to modeling in programming languages. This chapter will show you how to transition from visual modeling to code.

Chapter 13, “Supporting Organizational Change”: The goal of a new software system usually is to make work easier, faster, and more efficient (in short: better). This goal will not be reached by digitalizing bad manual processes. Neither will a pile of requirements magically turn into a seamless business workflow. To build good business software, you need to go beyond merely modeling the current situation. You will need to design the future way of working. Domain stories help to do this and visualize how new software will change the way people work. Read this chapter if you want to optimize business processes, roll out new software, or discuss and promote change in business processes.

Chapter 14, “Deciding Make or Buy and Choosing Off-the-Shelf Software”: Not every piece of software is custom-built. Many domains are supported by off-the-shelf software. Domain stories can help to decide if a new software system should be

Another random document with no related content on Scribd:

CROCHET INSERTION.

WORKED THE SHORT WAY.

M.—Cotton, No. 80. Crochet hook, No. 22. Make 32 chain.

1st.—Miss 3, 2 dc., † 2 ch., miss 2, 1 dc., † , twice, 2 ch., miss 2, 7 dc., * 2 ch., miss 2, 1 dc. * 3 times, 2 dc.

2nd.—Turn the work; and, in this and the other alternate rows, take up the side of the stitch nearest to you, whilst in the intermediate you take up the side farthest from you. 3 ch., twist them, miss 1, 2 dc., * 2 ch., miss 2, 1 dc. * 5 times, 3 dc., 2 ch., miss 2, 1 dc., 2 ch., miss 2, 3 dc.

3rd.—(Turn the work.) 3 ch., twist, miss 1, 2 dc. on dc., 2 ch., miss 2, 4 dc., 2 ch., miss 2, 1 dc., 2 ch., miss 2, 7 dc., 2 ch., miss 2, 1 dc., 2 ch., miss 2, 3 dc.

4th.—(Turn.) 3 ch., twist, miss 1, 2 dc., 2 ch., miss 2, 4 dc., 2 ch., miss 2, 1 dc., + 2 ch., miss 2, 4 dc., + twice, 2 ch., miss 2, 3 dc.

5th.—(Turn.) 3 ch., twist, miss 1, 2 dc., 2 ch., miss 2, 4 dc., 2 ch., miss 2, 1 dc. +, 2 ch. miss 2, 4 dc., + twice, 2 ch., miss 2, 3 dc.

6th.—(Turn.) 3 ch., twist, miss 1, 2 dc., 2 ch., miss 2, 4 dc., 2 ch., miss 2, 1 dc., 2 ch., miss 2, 7 dc., 2 ch., miss 2, 1 dc., 2 ch., miss 2, 3 dc.

7th.—(Turn.) 3 ch., twist, miss 1, 2 dc., ✕ 2 ch., miss 2, 1 dc. ✕ 6 times, 3 dc., 2 ch., miss 2, 3 dc.

8th.—(Turn.) 3 ch., twist, miss 1, 1 dc., ✕ 2 ch., miss 2, 1 dc., ✕ twice, 3 dc., * 2 ch., miss 2, 1 dc. * 4 times, 2 ch., miss 2, 3 dc.

Repeat until sufficient is done for the purpose required.

It may be necessary to explain the meaning of the word twist. In working a crochet pattern backwards and forwards, or in carrying the thread from one round to another, without joining, in a round crochet pattern, the neatest way is to make three chain, and then twist them, letting the loop drop off the needle for the purpose and resuming it; this looks quite sufficiently like a dc. stitch for all ordinary purposes.

NETTED SCARF.

M.—6 oz. light blue filoselle, 1 oz. each of white and of claret ditto. When winding the skeins, split them in half and the threads will then be quite sufficiently thick. Begin with the border. Take a round mesh, No. 4, [the size of a common pen-holder,] make 1 stitch.

2nd.—Net 2 in 1.

3rd and succeeding rows.—Add one stitch at the end of every row until you have thirty one stitches in the row, when you will net two as one. The next row, you will increase one at the end; the following one you will diminish until you have done fifty rows in this manner, then decrease at the end of every row until one stitch only remains.

This being done in white filoselle, may be darned in a handsome pattern with the claret. A second piece must be done in the same way. Then two bands, each half the width of this, must be made in light blue, to one side of which a handsome fringe must be sewed, and to the other the white netting. The body of the scarf must also be done in the blue filoselle.

Any handsome scroll or pattern for square crochet, which is not more than thirty squares wide, may be used for darning the border of the scarf.

NIGHT CAP IN CROCHET.

M.—Cotton, No. 12; crochet hook, No. 16; eagle cardboard gauge; 184 chain. This pattern is worked principally in close and open squares.

1st.—4 o., + 1 c., 1 o., 1 c., 7 o., + 5 times, 1 c., 1 o., 1 c., 4 o., 1 dc.

2nd.—3 o., + 2 c., 1 o., 2 c., 5 o., + 5 times, 2 c., 1 o., 2 c., 3 o., 1 dc.

3rd.—5 o., + 1 c., 9 o., + 5 times. 1 c., 5 o., 1 dc.

4th.—1 slip, 3 ch., miss 2, 2 o., + 2 c., 1 o., 2 c., 5 o., + 5 times, 2 c., 1 o., 2 c., 2 o., 3 ch., miss 2, 1 slip.

5th.—1 slip, 3 ch., miss 2 to 2 o., 1 c., 1 o., 1 c., 7 o., 5 times, 1 c., 1 o., 1 c., 2 o., 3 ch., 1 slip on the dc. of last row.

6th.—1 slip on the first dc. of the last row, 3 ch., miss 2, open squares to the last; then 3 ch., miss 2, slip 1 on the last dc.

7th.—1 dc. on the last of the 3 ch. of the preceding row, 1 dc. on the dc. of the last row, 6 o., + 1 c., 1 o., 1 c., 7 o., + 4 times, 1 c., 1 o., 1 c., 6 o., 2 dc.

8th.—2 dc., + 5 o., 2 c., 1 o., 2 c., + 5 times, 5 o. 2 dc.

9th.—2 dc., 7 o., + 1 c., 9 o., + 4 times, 1 c., 7 o., 2 dc.

10th.—2 dc., + 5 o., 2 c., 1 o., 2 c., + 5 times, 5 o., 2 dc.

11th.—2 dc., 6 o., + 1 c., 1 o., 1 c., 7 o., + 4 times, 1 c., 1 o., 1 c., 6 o., 2 dc.

12th.—dc.; open squares to the two last stitches, 2 dc.

13th.—2 dc., 1 o., + 1 c., 1 o., 1 c., 7 o., + 5 times, 1 c., 1 o., 1 c., 1 o., 2 dc.

14th.—1 dc., + 2 c., 1 o., 2 c., 5 o., + 5 times, 2 c., 1 o., 2 c., 1 dc.

15th.—2 dc., 2 o., + 1 c., 9 o., + 5 times, 1 c. 2 o., 2 dc.

16th—Like 14th. 17th.—Like 13th. 18th.—Like 12th.

19th.—2 dc., 6 o., + 1 c., 1 o., 1 c., 7 o., + 5 times, 1 c., 1 o., 1 c., 6 o., 2 dc.

20th.—Like 19th.

21st.—Like 9th.

22nd.—Like 10th.

23rd —Like 11th.

24th and 25th.—Like 12th.

26th.—Forms half the band at the back. + 2 dc., 5 o., (a) turn; 5 ch., miss 2, 4 o., 2 dc., + 4 times between the crosses, and then to (a) once,. Slip down the upper side to the top of the last dc. stitch, in the twentieth row; so the first row of the follow point is merely a continuation of the twenty-sixth row.

1st.—T P: 2 ch., miss 2, 8 o., 1 dc., turn, 3 ch., miss 2, 8 o., (taking care that the dc. stitches come over those of the previous row), 1 dc., turn, 3 ch., miss 2, 7 o., 1 dc. on dc., turn, 3 ch., miss 2, 6 o., 1 dc. on dc., turn, 3 ch., miss 2, 5 o., 1 dc. on dc., turn, 3 dc., miss 2, 4 o., 1 dc, on dc., turn, 3 ch., miss 2, 3 o., 1 dc. on dc., turn, 3 ch., miss 2, 2 o., 1 dc., on dc., turn, 3 ch., miss 2, 1 o., 1 dc. on dc., turn, 5 ch., miss 3 dc, on dc.; slip stitch up the side of this point to the twenty-sixth row again, which is thus entirely formed by the first rows of the points. Work five points and you will have stitches enough left for five open squares at the end, which are to be worked to correspond with the other half of the band at the back of the neck. Sew the ends of the bands together, leaving the Vandyke loose.

Work round the inside of the band and round the Vandyke, thus:—

1st round.—5 ch., miss 2, 1 sc.

2nd.—1 sc. under the chain, 6 ch.; repeat.

It will then be necessary to put a border to the cap itself; and either any pretty one may be worked on that is already given in this work, or, if a narrow one be preferred, the following may be adopted:—

1st.—✕ 1 dc., 2 ch., miss 2, ✕; repeat all round except that at the corners you will work, * 1 dc., 2 ch., miss none, * three consecutive times.

2nd.—1 sc., 5 ch., miss 3 all round.

3rd.—✕ 1 sc., 3 dc., 1 sc., under the loop made by one chain of five of the last round, 3 ch., 1 sc. under the next loop of 5, 3 ch. ✕; repeat.

Plait a cord of narrow braid, and make tassels of the same; run them through the top of the band at the back, when the ends are sewed together, and through the point of each Vandyke, and draw it up when on the head.

CROCHET EDGING.

[WORKED THE SHORT WAY.]

M.—Cotton, No. 20. Chain of 20 stitches; form into a loop.

1st.—5 ch., + miss 1, 1 dc., 2 ch., + 5 times, 1 dc.

2nd.—9 ch., 1 dc. into loop, + 2 ch., 1 dc. in next, + three times, 7 ch., 1 dc. in last.

3rd.—5 ch., 1 dc. in large loop, + 1 ch., 1 dc. in same, + 6 times, 2 ch., 1 dc. in next loop, 2 ch., 1 dc. in next.

Turn the work, and repeat the 2nd and 3rd rows until sufficient is done.

TRANSCRIBER’S NOTES

Page Changed from Changed to 30 10th. All White: cast of 2, k. 2, p. 9, k. 4.

10th. All White: cast off 2, k. 2, p. 9, k. 4.

45 come to the last 9 tc. stitches, when repeat backwards come to the last 9 tc. stitches, then repeat backwards

48 11th. + 1 tc., on tc. of last round, 4 ch. ✕; repeat. 12th. + Dc. on 4 ch. of last round, 1 ch. ✕; repeat.

11th. + 1 tc., on tc. of last round, 4 ch. +; repeat. 12th. + Dc. on 4 ch. of last round, 1 ch. +; repeat.

80 bolland, trimmed with worsted braid. There are holland, trimmed with worsted braid. There are

83 12th. ✕ 3 tc. under 6 ch., 3 tc. under next 6 ch., 12 ch., +

12th. ✕ 3 tc. under 6 ch., 3 tc. under next 6 ch., 12 ch., ✕

83 4 times, ✕. Then repeat from the beginning. 4 times, +. Then repeat from the beginning.

83 5 ch. of last row, * 4 times, +. Repeat to the 5 ch. of last row, * 4 times, ✕. Repeat to the

85 miss 2, 7 dc., 2 ch. miss 2, 1 do. miss 2, 7 dc., 2 ch. miss 2, 1 dc.

95 under next loop, * 6 times, 5 ch., +. Repeat under next loop, * 6 times, 5 ch., ✕. Repeat

106 5th. Knit 2, ✕ m. 1, k. 2 t., + twice, k. 2

107 19th. Knit 2, + m. 1, k. 2 t., ✕ twice, k. 2

5th. Knit 2, ✕ m. 1, k. 2 t., ✕ twice, k. 2

19th. Knit 2, + m. 1, k. 2 t., + twice, k. 2

108 next loop, 5 ch., slip through sc. stitch, ✕ 3

110

11th. 17 os. w., 2 dc. d. b., 3 dc. 1 l. b 2, 2 dc. w., dc. l. b., 17 os. w.

next loop, 5 ch., slip through sc. stitch, + 3

11th. 17 os. w., 2 dc. d. b., 3 dc. l. b 2, dc. w., ? dc. l. b., 17 os. w.

110 b., (to form the eye), dc. w., 4 dc. l. b., 17 b., (to form the eye), ? dc. w., 4 dc. l. b., 17

111 l. b., 15 dc. w., 5 do. l. b; finish as before

113 twist them, miss 1, 2 dc., * 2 ch., miss 2, 1 dc. +

114

ch., miss 2, 1 dc. + 6 times, 3 dc., 2 ch., miss 2, 3 dc.

l. b., 15 dc. w., 5 dc. l. b; finish as before

twist them, miss 1, 2 dc., * 2 ch., miss 2, 1 dc. *

ch., miss 2, 1 dc. ✕ 6 times, 3 dc., 2 ch., miss 2, 3 dc.

115 1 c., 1 o., 1 c., 7 o., + 5 times, 1 c., 1 1 c., 1 o., 1 c., 7 o., 5 times, 1 c., 1

116

19th. 2 dc., 6 o., + 1 c., 1 o., 1 c., 7 o., ✕ 5

19th. 2 dc., 6 o., + 1 c., 1 o., 1 c., 7 o., + 5

1. Silently corrected palpable typographical errors; retained non-standard spellings and dialect.

2. Reindexed footnotes using numbers.

*** END OF THE PROJECT GUTENBERG EBOOK THE LADIES' COMPLETE GUIDE TO CROCHET, FANCY KNITTING, AND NEEDLEWORK ***

Updated editions will replace the previous one—the old editions will be renamed.

Creating the works from print editions not protected by U.S. copyright law means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for an eBook, except by following the terms of the trademark license, including paying royalties for use of the Project Gutenberg trademark. If you do not charge anything for copies of this eBook, complying with the trademark license is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. Project Gutenberg eBooks may be modified and printed and given away—you may do practically ANYTHING in the United States with eBooks not protected by U.S. copyright law. Redistribution is subject to the trademark license, especially commercial redistribution.

START: FULL LICENSE

THE FULL PROJECT GUTENBERG LICENSE

PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg™ License available with this file or online at www.gutenberg.org/license.

Section 1. General Terms of Use and Redistributing Project Gutenberg™ electronic works

1.A. By reading or using any part of this Project Gutenberg™ electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg™ electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg™ electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg™ electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg™ electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg™ electronic works. See paragraph 1.E below.

1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg™ electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg™ mission of promoting free access to electronic works by freely sharing Project Gutenberg™ works in compliance with the terms of this agreement for keeping the Project Gutenberg™ name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg™ License when you share it without charge with others.

1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg™ work. The Foundation makes no representations concerning the copyright status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg™ License must appear prominently whenever any copy of a Project Gutenberg™ work (any work on which the phrase “Project Gutenberg” appears, or with which the phrase “Project

Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed:

This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work.

1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg™ work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg™ website (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg™ License as specified in paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg™ works unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg™ electronic works provided that:

• You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg™ works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg™ trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, “Information

about donations to the Project Gutenberg Literary Archive Foundation.”

• You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg™ License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work.

• You comply with all other terms of this agreement for free distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™ electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from the Project Gutenberg Literary Archive Foundation, the manager of the Project Gutenberg™ trademark. Contact the Foundation as set forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg™ collection. Despite these efforts, Project Gutenberg™ electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other

medium, a computer virus, or computer codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGESExcept for the “Right of Replacement or Refund” described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg™ trademark, and any other party distributing a Project Gutenberg™ electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH

1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem.

1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS

OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg™ electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg™ electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg™ work, (b) alteration, modification, or additions or deletions to any Project Gutenberg™ work, and (c) any Defect you cause.

Section 2. Information about the Mission of Project Gutenberg™

Project Gutenberg™ is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.