/
Coright , Lucent TecoliesPermission granted to cfor PLoP .All other ri Coright , Lucent TecoliesPermission granted to cfor PLoP .All other ri

Coright , Lucent TecoliesPermission granted to cfor PLoP .All other ri - PDF document

ellena-manuel
ellena-manuel . @ellena-manuel
Follow
390 views
Uploaded On 2016-08-01

Coright , Lucent TecoliesPermission granted to cfor PLoP .All other ri - PPT Presentation

Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP All other rights reserved25 Author as Owner How to kp from writing the paern for the author8 Fors Dene Problem How to understand th ID: 427378

Coright 1999 Lunt TechnologiesPermission granted

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Coright , Lucent TecoliesPermission gran..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Coright , Lucent TecoliesPermission granted to cfor PLoP .All other rights reserved.The Language of ShepherdiA Paern Language for Spherds and SheepNeil B. HarrisonLunt Technologies11900 North Pos st.Denver, Colorado 80(303) -1541nbhaison@lunt.comMany of us have subtted patterns to our coeaes for fdback prior to a writers’ workshop or othertype of review. In fact, at PLoP conferens, all subions are subjected to shepherding before they areevaluated for aptance. Unfortunately, the quality of shepherding varies widely. Some people receiveextremely helpful coents, but others rive only cursory remarks, and a “Looks od” endorsement.Yet shepherding be a very powerful tfor impring patterns. It n go well bend hints forgraar and usage, even to the heart of the work being shepherded. Ifact, shepherding n turn a paperaut a solution into a pattern. But it requires more than a casual reading by the shepherd: it requiresaention, and actions such as the ones described in the patterns below.These patterns have been glned from signifineerience wh shepherding, th as a shepherd and asa “shp”. This eerience is augmented with experience in giving and rivinfdbacfor non-patternthnical works, from teaching, and from serving. The paerns should help you bome a beershepherd, th in a formal pattern shepherding setng and in other situaons.Seing the StageImagine that you have agreed to be a shepherd for an upcong PLoPOiously, u have had someexperience wh shepherding; at the very least, u have been a “sheep” yourself. You know what it flske. In addition, you know about patterns. You have an idea of what makes up a gd paern. Ideayuhave been to wrers’ workshops, perhaps at a PLoP.You just rived mail from the program chair informing you of ur shepherding aignment. She notesthat u have not ite a month before the final papers are e, so you nto start sn. So youimmediately take a lk at the paper you have been aigned. As you read it, you rognize yourresponsibily – ur help may make the dierence between aptance and rejon. And you want to dothe best job for the author that you can. Now what?It is likely that u will run across several of the prlems described below. Of course, since u are up onthe latest pattern literature, u have read these patterns, and are ready to aly them to help the authorpre the work.A Map of the PatternsThe paerns here can be groed into two major categories that interact very closely wh each other. Thefirst group are paerns that deal with the shepherding pross self, the taccs of shepherding. Thesepatterns are (numbers refer to the paern mbers in the laage):1. Three Iteraons: How to bet ur time and effort to make shepherding effve.2. The Shepherd Knows the Sheep: How to estabsh a procve relationship between you and theauthor.3. Half a Loaf: How to make sure that shepherding connues to move forward.4. Big Picture: How to grasp the gist of the paern right off the bat. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.25. Author as Owner: How to kp from writing the paern for the author.8. Fors Dene Problem: How to understand the prlem at a dper level.The shepherding pross is essenally a reviewing pro, as is the writers’ workshop. Therefore, itshould come as no surprise that these paerns are closely ed to “A Paern Laage for Wrers’Workshops,” 1 Selteaerns will be referenced with thumbnas, and will be noted as Workshoppatterns.Since shepherding is all aut impring the paern self, the second group of patterns deals with asptsof the paern self. These are areas that the shepherd should look closely at, as they tend to betroublesomeTherefore, there is often great potenal for imprement in these areas. Interestily, it isn’teasy to separate these two gros of patterns. In fact, the first pattern in the foowing also ars in theprding st! In other words, if u apply BIG PICTURE wh the intent of helping yourself shepherd, uare automacally helping pre the paern self. Conversely, if u apply it wh the goal of helpipre the paern, u are making fe easier for urself as a shepherd. This is true to a leer extentwh many of the patterns in this laage.4. Big Picture: How to make the eence of a pattern mediately clear to the reader.6. Matching Prlem and Solution: How to ensure that the pattern ry is paern-ish.7. Convincing luon: How to make the pattern beevable.8. Fors Dene Problem: How to strethen the prlem.9. Balanced Context: How to help get the paern at the right scope.10. War Stories: How to help the pattern flow.11. Form Foows Fc: How to t a new form into a paern.12. Small Patterns: How to kp paerns easy digestable.These patterns lk more at content. They relate to paerns in “A Pattern Language for Pattern Writing.”2These will be referred tas Paern Wring Patterns.During the course of shepherding, one tends to use more of the tactical paerns initially, but then tends tox the paerns of the two gros. Here is a picture of all the paerns, showing the rough order in whichthey ght be apped. An arrow from one pattern to another iites that the first paern helps set thestage for use of the second.1 Copen, James: “A Paern Language for Writers’ Workshops,” in Pattern Languages of PrramDesign-4Aison-lseyReading MA, 9, pages to be determined.2 MezarosGerard, and James Dle: “A Paern Language for Paern Wring,” in Pattern Lages ofProgram Desi-3, Aison-sley, Reading MA, 8, pages 529-4. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.31. Three Iteratis2. The SheerdKws the Sheep5. Autr as Owner4. Big Picture6. Matching Prlemand Solution7. Convincing Solution8. Forces DefineProblem9. Balanced Context3. Half a Loaf. War Stories. FormFollows Functi. Small Patterns Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.4The Patterns1. ree IterationsWhen u rive a paern to shepherd, u have an unknown amnt of work ahead of u. Paernlanguages have different levels of matury and quay, not to menon size. The amot and type of workvaries widely, and ’s prey hard to predict.It n help if u know the author. You may have a beer idea of what to et from the paern.However, dierent works from the same author wl reire dierent amounts of shepherding, sometimeswidely different amnts.\\\All too oen, the author receives pr feeack from the sheerd: it comes late, it is incompletea/or superficial. The author has no chance to bounce corrections off the shepherd, or even to findout what the shed really meanActuaymost patterns nd a fair amot of work when they come in for shepherding. One reason for thisis that the shepherd may well be the first r“outsider” to exane the work closely. And it takes someonewho is remed from the paern treally see the strengths and weaknees of the pattern.Most shepherds begin with the best intentions. But shepherding is a luntr activy, and your real jgets in the way. The tsps by, and soon all you can do is to skim the paerns and dash off a huied setof coents to the author. You fl vaely y, but console yourself that the patterns did indd lkpretty od. At least they did during your ick pass through them…Therefore:Plan the sheding eort to take three itations of comments from the sheerd to the author. Inorder to make three iterations possible in the time generally alloed to sheerding, it is almostalways necessary to start immediately. Both the sheerd and the author must be prepared tospond quickly – the shed must send suestions to the author, and the author must ppavisions of the work.Three erations helps u budget ur time so that you have enough time to give meaningful coents tothe author. In addon, it helps u aithe tendency to mall ur coents on the author three daysbefore the deadline. The author gets manageable chus of informaon, and n respond to them beer.“Half a Loaf” eands on this point.If u are a natural procrastinator, it may be especiay difficult to do this. In order to help you movateurselfiediately tell the author when to et each batch of coents. External cotmenis awonderful goad.Some works may nd only two erations, whe others might require more than three sets of coents. Ifthe work is in gshape after one or two erations, you can rejoice in the gift of uneted te.However, it is the rare paper that nnot benefit from three sets of coents. It is much more coon thata paper nds more than three iterations. If u can fit an additional iteration into the schedule, fl free todo so. But after three iterations, the work tends to become stale to the shepherd as well; you have med“too close to the coalfa”3, and find yourself repeating the same sesons to the author. After threrations, the effecveness of one shepherd tends to drease. Regardless of the state of the work, thrsms to be the best number of erations.3 Thanks to Alan O’Caaghan for this Brish metaphor. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.5A typical conseence is that shepherding takes more effort, but the qualy of the shepherding will bemuch higher. As a shepherd, u must plan for this. Rognize that the te u spend wl be well worth itto the author.\\\This paern sets the stage for the shepherding seion, yet it cannot sud by self. In order to effecvelybudget one’s time, one must also bet the informaon flow; HALF A LOAF makes thihaen. Inaddion, this paern aumes an implicit contract of cooperation betwn the shepherd and the shp. UseTHE SHEPHERD KWS THE SHEEP to make this haen.Thanks to Jim Copen and Dirk Riehle. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.62. e Shepherd Knows the SheepNow that u have the paern in hand and are ready to begin shepherding, what is the first thing you do?You have planned out ur schele to aoodate THR ITERATISHowever, you realize that thereis no way to aure that shp will pay aention to your coents.\\\Bause the sheerd is essentiay a critic, there is a natural barrier betwn the shed and theshp – the shp fls vulnable and defensive. This attitude can hier eective communication,and can even foster a teencfor the sheep to ignore comments from the sheerd.On the one ha, u ght fincned to give lots of coents to the author in order to be the mosthelpBut it is discouraging if the author ignores most of ur coents. So you ght be tempted to gloover the diicult items, and give only cosmec sesons, since they are non-threatening.Most shepherding is done via email. Whe email is nrly ideal for shepherdi, it is detached asomewhat anonymous. This makes it easy to ignore.Since most shepherds are also authors, one can foow the Golden Rule – I should respond ickly andposvely to my shepherd, and perhaps my author will be responsive to me. But posve example only esso far; there are no guarants. We are dealing with other people, and have no rl power ethem.Therefore:Start iediately to bud a relationship with the author, and maintain it throughout theshedingContact the author right away, even before reading the patterns, and tell the authorabout urself. Tell the author what to expt from u (such as three iterations), and estabsh whatyou expt from them in return. Abe all, foow through on ur coitments!It is important to make the shepherding personal. The author nds to fl like they know u and n trustuIt helps if they know that u have been a sheep urself, and know that to et. You are, ineenestabshing a Safe Seing4 for the author.Early contact is important. The author will have been informed of ur stewardship, and they will beexpng to hr from you. Estabshing contact immediately shows that u care. The author will be morewing to listen to your coents. This emdiethe old adage“They don’t re how much u knowuntil they know how much care.”You can maintain the personal relaonship er te through the manner in which ive feedback.Don’t forget to give posvreinforcement as well as sesons for imprement. Try to give PosveFack Fit5and finish up each group of sesons with Positive Closure6.An important aspt of a relaonship is that th parties understand what the other expts. Estabshgrnd rules which encompass what you will do and what you expect the author to do. Inclefor4 Wrers’ Workshop Pattern Safe Setting: How to make feedback more open and effecve by raising thecomfort level, particularly for the author.5 Wrers’ Workshop Pattern Positive Feeack Fit: How to give the gathering a sorvtone, and tostart with fdback that whe author in a recepve md.6 Wrers’ Workshop Pattern Positive Closure: How to leave the author with a posve feeng at the end ofthe feedback. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.7example, dates of trips or events that could prevent you from responding quickly. Aionally, you couldmenon ur preferens for email equette, if that is important to you.\\\If u do this, th shepherd and author wl be edified by the proce. You will build relaonships that lastbend the shepherding period, as you bud a Coity of Trust7On one occasion, I worked extensivelywh an author on his paper. At the foowing PLoPthe author, knowing of my love of folk music, gaveme a CD of folk music from his cntry as a thank you.7 Wrers’ Workshop Pattern Counity of Trust: How to help authors fl that the eerienwill helpthemrather than tr them down. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.83. Half a LoafShepherding is now underway. By using THREE ITERATIS, you have estabshed an approximateschedule, and you and the author uerstand what each expts of the other (THE SHEPHERD KNOWS THESHP)Now the author is ready to rive ur first batch of coents.\\\In the zeal to help the author, the shed oen sends evy poible correction to the author all atonThis whelmthe author and disrupts the schedule.It’s natural to want to send a comprehensive list of coents to the author all at on. But u can’tpoibly coent on every e thing and still maintain three iterations; there just isn’t time. Even if uwere able to do so, the author couldn’t respond in time. After all, the job of revision is even bier than thejob of crcism!Not all corrons are created eal. Some are absolutely crl; others are trivial. But if the authorrives all the coents at on, it is diicult to know which are the portant ones. The author mayspend exive making nor changes, and not have e for the big ones. This is a natural tendency:’s easy to cot graar and spei, and we tend to ke to do the easy things first.Therefore:Send the author small bites of coents. Start with the biggest iues, and work to the most trivial.If you run out of time but haven’t aembled all the coents u wish to make, send what youhaveThe author can start on whatever coents u se. Half a loaf is better than none.Coents, unlike software, don’t nd to be complete before they are released. In fact, they don’t evennd to be debed! The author wl be able to make sense of them. And if the author n’t, u canexpt some e-mail asking for clarificaon.The schedule is more important than the completeness of the coents. For one thi, if u ss theeu put an iteration of coents in jeopardy, and they can’t be made up. For another thing, theauthor n begin with what u send. If nary, u can always complete ur coents a few daysafter you send the bulk of them.\\\Now u are off and ruing. ll, mae. There is stl this gnawing eson: If you are sosed tobegin with the most important iues, how do you know what they are? Where do you start? The answer isfound in BIG PICTURE.Thanks to David DeLanoJutta Eckstein, and Dirk Riehle. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.94. Big PictureNow that u are ready to give a small dose of feedback (see HALF A LOAF)the task before u is tounderstand the paern and find the most important iues to highght first. But this is easier said than done.\\\Is oen hard to know where to start sheerding. You nd to ustand the paern in order tomake effective suestions, but draft patterns are oen prey aane. Paerns that are small andconcise at this stage of maturity oen lack substan. On the other ha, large pattns oen haveextraneous detathat obscure the main ideas.Upon first readi, one can find many areas for imprement in a draft pattern. But me is limited. So ’scritical to ll out the most important iues first, and get them straight. Furthermore, some of the noriues may change, or even take care of themselves as u tackle the big iues. But it isn’t always clearwhat the most important iues are.It’s not uncommon for a draft paern to be pretty m– ’s hard to figure out what the paern is allautThere may be a great paern struggling to get out, but it takes work to unrth it. To put it bluny, alot of enginrs are pr wrers!Of course, the shepherd’s initial eerience to a paern will likely mirror the eerience of the generalpopulaFirst impreions tend to sck. So the way a paern is presented n make all the difference.Therefore:Start by reading the problem and solution of the pattern to get the main idea, and to give feeackon the problem and solution first. By themselves, the problem and solution should give the bigpicture of the pattern.You start here for three reasons: First, it gives u an idea of the pattern very ickly, and helps frame yoursubsequent sty of the pattern. Sond, it helps you see how (or ifthe author uerstands the pattern.Third, the eenof a paern should be easy to pick out of the paern itself. The reader must be able tofind what the paern is aut relatively easy. By the way, ’s best to give ur first impreion fdbackvery soon after u read the big picture, sar to Reading Just Before Reviewi8.A gd place for this kernel information is at the beginning of the prlem and soluon sons. Lk atthe first one or two sentens in each son. You should be able to uerstanthe basic idea of the patternupon first readi. This is ecave of Single-Pass Readle Pattern9. If it isn’t, u can ask the author toexplain what the pattern is all aut as suinctly as possible, and incorporate that into the paern. Yought have the author use ‘paet” form, and work from the paet for a whe.Note that some patterns (ke these) don’t have secons ecitly caed “Prlem” and “Soluon.”Neverthelethey should be easy tfind (see Findable Sectis.) In these paerns, for example,8 Wrers’ Workshop Pattern Reading Just Before Reviewi: How a reviewer should aid over-preparingor under-preparing for the workshop.9 Pattern Writing Paern: Single-Pass Readle Pattern: How to make it easy for the reader to understandthe gist of the paern on first reading. Pattern Writing PaerFindable Secs: How to make key information easy tfind. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.10prlems and soluons are in ld. Note that the prlem and soluon are the key elements of MandatoryElements Present.\\\Shepherding tends to be more effecvwhen you start with the BIG PICTUREIt helps get the shepherd andthe author on the same page. It n aicostly (in time) sunderstandis, and it helps place the focus onthe most important iues first. (See MATCHING PROBLEM AND SOLUTI.)An interesting parallel pattern for reviewing papers is Evaluate Papers Fast, by Jens Parlsberg. Pattern Writing PaerMandatory Elements Present: How to make sure all the neceary informaon ispresent in a paern. Evaluate Papers Fast: How to ickly get an idea of the mers of a paper to be reviewed for aconference or a journal. See http:c2.com/cgi/wiki?EvaluatePapersFast Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.115. Author as nerShepherding is now underway. You have read through the paern, and have prably used BIG PICTURE tohelp you idenfy the highest priority iues of the pattern. You are now ready to send your first commentsto the author.\\\Developing a strong relationship with the author can cause the author to lean on you too much. Inparticular, the author may use usuestions vbatim.It is somewhat flattering to have the author use ur words exacy, but it has negave conseens. Firstof all, you aren’t the eert, so your coents may not be completely aurate. After all, the author shouldbe the eert, not the shepherd.A second prlem is that it makes u, in a small way, a part owner of the work. This is usuayinapprriateand ’s a burden that mosshepherds don’t want.Perhaps the biest prlem is that the author doesn’t lrn by splcopying ur sestions.Grappng with thnical iues as well as stystic pattern prlems is one of the best ways to grow; theauthor shouldn’t be deprived of this oortuny.However, time preurncourages the author to simply incorporate the coents into the paern whoutgiving them much thought.Therefore:Estabsh the author as the clear owner of the work by not spoon-fding answs to the author.Insteadask questions in order to nudge the author in the right direction. Phrase much of urfack as thoughproking questions.It’s often hard to turn your crcisms into esons that will help the author come up with the answers.Think about “what”, “how” and “why” esons, such as, hat prlem are you solving?” or, “How doesthe soluon solve the prlem?or, hy is this force portant?” You might even use other journastic“w” esons, such as, hen does this solution not work?”Quesons force the author to think about the prlem, and to come up with the right words (and conpts,rather than taking your words without much thought. The author wl therefore learn aut the topic andpatterns in general. Mnwhileyou become the invisible hand behind the work, without bong overlyinlved in it.\\\Note that this approach takes more work than simply toing off a bunch of sesons to the author. As ashepherd, u nto think refuy about what esons to ask the author. It is also more work for theauthor. But this extra te and effort pays off in a more consistent, higher qualy pattern.A side effect of esons is that ur coents are not dirattacks on the work, and thus are less likelyto offend the author. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.126. Matching Problem and SolutionOnce u are on your way wh the BIG PICTUREu nto know what to do wh it. Most patterns thatare being shepherded nsome work to make the BIG PICTURE hold together.\\\Oen, an iature paern doesn’t hang together well. It may feel like a solution looking for aproblemor mbe the purpose of the paern isn’t clear.Paerns are not written front to back. Authors unce around in the paerns as they wre them. So the“Big Picture” of the paern – the prlem and solution – are often wrien at different times. But the readerreads the pattern from front to back. This often leads to a Big Picture that is distorted or fuy.We tend to focus on soluons; indd patterns are aut solutions. This focus leads to strong soluons withprlem statements that are lie more than afterthots. But we need strong prlem statements to knowwhen we might nd a paern.Some paerns are pretty complex, so they are naturay hard to understand. They reire a great dl ofdetail, yet this detail n scure the meaning of the paern. This is exarbated by the fact that the author,who is an expert on the topic, tends to focus on the detas; the gist of the paern is now so vious (to theauthor) that it gets lie attenon. Yet it isn’t ious to the reader.Therefore:Read the problem and solution together to make sure they match. The solution must ass thewhole problem, but not more than the problem. Identify which of the two sections is weak withspect to the other, and strengthen it. In genal, work on the solution first, then the problem.This is all aut balan: the prlem and soluon must fit together in order for the pattern to fl whole.One aspect of this is the breadth of the paern. The prlem and solution must cover the same grnd. Abroad prlem reires a general soluon, and a narrow prlem is covered by a spific soluon. Anotheriue is depth: soluon and prlem should match here as we. If a solution arees one iuin depth,and that iue is germane to the soluon, it must be reflected in the prlem, or perhaps the context. (Thesame goes for depth in the prlem, ahough this is uncoon in prac.)You may sl be on the first pass er the pattern at this point, so it still may be helpful to reajust theprlem and solution, and skip the other sons. This wl help give you a sense of the paern’s balan.Howeveryou will nd to begin to bring in the surrnding informaon of forces, context, andplementation to fill in some holes.Because we wrpaerns based on r eerience wh the soluons, we tend to wre the soluon of apattern first. At least, that’s what we have in nfirst; the soluon movates us to write the pattern. Sothe soluon is usuay more mature than the prlem. This is why we start with the solution.\\\This paern helps u see what part of a pattern might nd work. It also helps the author understand theinteraction of prlems and solutions. But bend idenfication, you nspific acon to fix the solutionand the prlem. See CVINCING SOLUTI and FOES DEFINE PROBLEM for the next steps. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.137. Cvincing Solution (The “Aha” Efft)By now, the pattern is taking shape. It has a sod BIG PICTUREThe prlem and the solution are begiingto work together (MATCHING PROBLEM AND SOLUTI)As the shepherd, u may have helped the authorapply these patterns, but in many cases, the paern already has these characteriscs when it comes to you.On the surface, the paern lks gd.But something aut the pattern just doesn’t fl right. In particular, you are skeptical of the solution; uaren’t convind that it works. Perhaps the prlem is that the paern does not show evidence that thepattern has bn sussfully used. Or maybe the paern exhibits the “World Pea” syndrome; thesoluon is easy to say, but hard to do. Once in a while, the soluon actuay sms wrong.\\\Sometimes the solution is really weak; it just doesn’t do anything for you.Paerns should capture pren knowlee. But sometimes authors write up a single-instance soluon as apattern. In rare cases, they wre up a proposed soluon; one that hasn’even worked once (these tend tolk ke “World Pea”). At writers’ workshops, we tend to beeve the author, so it is ry up to theshepherd to catch these cases to avert embaament later.The author is often so close to the pattern that some important aspts of the solution sm obvious, eventrivial. So they aren’t mentioned. But this n use the credibity of the pattern to suer. This can makethe paern lke orld Pea” soluon, bause information that would help us apply the pattern ising. So we wonder whether the author has really sucssfullused the pattern.Some people are enamored with nti-patterns”, which describe a coon prlem, and then adviseagainst the destructive behavior. But they don’t tell what to do instead. Patterns should convey informationand insight aut what works. Most of us already know dozens of ways to fa.Therefore:Lk for a solution that is strong, even compeng. Ideay, the solution should have the “Aha” effect.If it isn’t, ask dirt, pointed questions to bring this out. For example, tell the author that you are notconvind that the solution works; please convince me. Ask how to implement it, or ask where theauthor has sn the pattn in practi.Watch for tip-offs, such as the word “should”, or ttle evidence of known uses. Ave atrust ur owninstinct. If something snds too od to be true, it prably is.Soluons that are extremely broad tend to lack credibity. Help the author make the solution narrower anddper by asking for spific examples of usage. You n also present coterexamples, and narrow thesoluon space by exclusion.\\\This is a dirt challenge to the author. There is danger of damaging relationships here; that’s why ’sportant to have estabshed a relationship with the author (see THE SHEPHERD KNOWS THE SHP.)Howeveryou must not back away. Being openly skepcal now can save the author no end of trouble later.After (and only after) the soluon is in reasonably od shape, u can me on to the prlem withFOES DEFINE PROBLEM. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.148. rces Define ProblemGenerallyafter you have worked with the author on a CVINCING SOLUTIthe soluon of the paern isin gd shape. But that was the easy part. Bause paerns start as soluonn over and over, thesoluon is the stroest part of an emerging pattern. But what is the nature of the prlem that is solves?\\\Many paerns have pproblem statements. Sometimes they are too vague. More oen, though,they point directly to the solution and only the solution. In some cases, you can’t even find astatement of a problem.The prlem is the key to the pattern; if the soluon is the heart of the pattern, the prlem is its soul. Acarefuy crafted prlem statement n be a n to a person who is lking for a solution to that prlem.However, many authors don’t uerstand this, and instead focus exclusively on the soluon.Prlem statements are hard. We tend to be soluon-oriented; once we’ve solved a prlem we think onlyof the soluon. Bause of this, we usually begin by wring the solution, and then wre the prlem as anafterthought. This leads to problem statements that presose the soluon. In extreme cases, the prlemstatement is nothing but a restatement of the soluon.Because the prlem comes first, authors oasionay wre the prlem before they wre the soluon. Butthis is also problemal. The temptaon is to write prlem down even before the soluon is weunderstdUnless the author has thot through the soluon in detail, such prlem statements tend tobe vae and overly broad.Prlems are complex. They have various asptthat may sest dierent approaches to soluons, notall of which may work. Furthermore, the external manifestaon of a prlem is often not the prlem itself;measles is a dily lness that presents itself as small red dots on the skin.Therefore:The problem statement should desibe the visible manifestation of something wrong. Then thefos give substance to the problem, and insight into what is behind the symptoms. The authorshould itate between the forces and the problem statement to improve both.Note that the prlem statement in this paern points out that prlem statements tend to be weak (which isvisible)and the next paragraphs (fors) point out the reasons behind it. Note also that in this parcularform, the forces are not ecitly labeled. As a shepherd, u may have to hunt for the forces in thepattern.If the author has a gd start on the prlem, but the forces are weak, ask what makes the prlem diicu.Also ask what is the real prlethat lurks behind the symptoms described in the prlem. Make sure,though, that the prlem statement focuses on the external symptoms, for this is what the reader wencounter and be able to relate to. If there are forces but a prlem is not arculated, ask the author to summarize the fors in a singlestatement that describes the prlem, and go from there. If the pattern is weak in th fors and prlem,start by asking something like, “So what prlem are you trying to solve,” or, hat is wrong with theworld that this paern solves?” Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.15If u can’t find the forces at all, ’s time to apply Visible Forces.Be parcularly wary of prlem statements that are esons, as they are easy to abuse. If the prlemreads something like “How do you do X?”, it very often presoses the solution. Read the fors to swhether there is a real prlem lurking in the fors.\\\You may find that you spend the bulk of the shepherding effort working on the prlem. This isappropriateOnce the prlem and soluon are in gd shape, the paern emerges. I have seen manyaeged patterns where there was id a paern struggling to get out. The paern bame aarent as theprlem crystallized. Pattern Writing PaerVisible Fors: How to make sure the reader understas the choice of soluon. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.169. Balanced ContextAs the pattern takes shape through MATCHING PROBLEM AND SOLUTICVINCING SOLUTIandFOES DEFINE PROBLEMit becomes more clear where paern and n not be used. The prlem iswell understd. The soluon is now beer defined; this puts natural lims on s appcability. But all toften, we don’t think aut the effects of the soluon, we just aume that it solves the prlem, and that’sthat. But such an aumpon is in rlity naïve. Any acon, including alyina perfectly od soluon,has conseens. A paern owes it to s users to elain them.\\\The pattern sus from the “And They Lived Happily Ever After” syrome: if you aly thispanall will be right with the world. Or it may have the “Gd For What Ails You” syrome:you can use this pattern for whatever problem you haen to have at the moment. Or it has both.These two syndromes are reay the same prlem: the context of the paern is not well described. On theone hand, the context for applying the paern may be inadeate, or too broad. On the other hand, theconsequensor the context that resus from alying the paern is ignored. Both are easy tforget,particularly for the author, who is so close to the pattern.In many cases, the paern tries to be all things to all people. The author has rived coents from othersaut how the paern might be alied in this or that suation, and the author tries to eanthe paern tocover the new areas. So the paern grows, and tends to lose focus.If it is easy to lose focus about where a paern might be aed, it’s even easier to lose focus about whatthe appon of the paern does to the world. One major reason is that the conseens of a pattern areoften aed last, almost as an afterthought. It n get neglted in the heat of bae.Therefore:Lk at the context before and after the solution to see how the world changes as a result of alyingthe pattern. Compare the begiing and the resulting contexts to each other. Also compare thebegiing context to the problem, and the resulting context to the solution.The begiing context lays the grndwork, setting the stage for what will come, namely the prlem. Theresulng context should explain how the world has chaed through the appon of the soluon. Theending context should also show how the forces have been baland.Compare the begiing and the resulng contexts. You n st them, and see whether the resus aountfor the entire beginning context. The erly rosy resulng context statements are usuay preshort onspificsand so do not show how the context has changed or how the forces are baland. So use them toguide u as u ask the author how each force has bn areed. Ask for spifics and examples. WARSTORIES may help.Context is diicult to get one’s arms arnd, so it is often impoible or impraccal to state the contextwh a great dl of rigor. So don’t be too hard on the pattern wrer. But do watch for ious traps: anoverly broad beginning contextor a very opstic resulng context must be ghtened.\\\This helpkp the paerns crisp. It n also help kp the paerns focused on what is important, and makethem more useable out of the x. The user will know beer what to et, and won’t be but up and thendisillusioned by graiose etaons. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.17. War StoriThe paern should be impring nily by now. The prlem and soluon should be clear, and one shouldbe able to understand where to apply the pattern. But it’s not. It’s sll diicult to uerstanthe paern.Furthermore, and maybe because of that, the paern is ring.\\\The pattn is unclear, or sterile, and no maer what you suest, is not getting any better.The paern writer is often fad wh requests to add this or that to the paern to make it more broadlyapplicableeasier to use, etc. But if the author as everything in, the result is e, unwieldy, and obtuse.In addion, as paerns grow, they tend to become more abstract, and less aroachable. Yet theinformaon requested is important.The author is very close to the pattern, and has eeriend it first hand. So the paern is perfy clear tothe author. But it isn’t to many readers. Among other things, the author has unwren knowledge whichsms vious, but isn’t to the outside world. Sometimes there is so much ing that the shepherd knowsthat the paern isn’t clrbut n’t even figure out what to ask to gain the neceary clarificaon.Therefore:Ask the author to relate real-life experiens (“war stories”) to clarify the pattern.War Stories n be extremely werful instruments to show what a paern is all aut, and how one canuse .One way to use a war story is to make it a Running Example.An important aspt of a r Story is that it be apprriatfor the intended audien. See Clear TargetAudience for help.One way to draw out relevant stories from the author is to ask how the paern me aut. I was mentoringtwo people at a EuroPLoPand the paern was just hard to grasp. We strgled together for a whe, then Iasked them to tell me how they came across the paern. They ediatelt , and talked animatedlyaut their use of the paern. All of a sen, their pattern made sense, so I then told them to write downwhat they had told me. The imprement to the pattern was dramatic.\\\War stories n reay make a paern come ave. They not only help iustrate principles and reinforce thecredibity of the paern, they make it more interesting as we. The price for this is that the pattern getslonger. And two or more stories, particularly ruing examples, in the same pattern fl overdone.Note that some cuures tend to discourage the sharing of personal eeriens. Where this is the case, thispattern may be inapprriate. Pattern Writing PaerRunning Example: How to make it sier for the reader to put the paern intopracce by using a sile example through several patterns. Pattern Writing PaerClear Target Aience: How to make sure the paern reaches the intendedaudience by clearly identifying a primary target aien. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.18 . Form llows Functi(Or: Functional Form, Fiing Form)Applying patterns such as FOES DEFINE PROBLEM and BALANCED CXT often cause large chunks tobe aed to a paern. Sometimes they don’t fit well with what is already there. In addon, somees thematerial in the various sonof the paern sms somewhat contrived. This may be aarent rly on,but mighnobecome glaringly obvious til after one has wresed wh a MATCHING PROBLEM ASOLUTIand fors and context.\\\Sometimes the paern and the form the author picked just don’t go togeth.Some authors have limited exposure to paerns, and therefore may know only one or two paern forms.For example, many people’s first eerience with paerns is the GoF bk (Design Paerns: Elements ofObjted-Oriented Software Design), which uses a dierent paern form than many patterns in the PLoPD(Paern Languages of Program Design) series. You sck wh what u know.Howeversome patterns just work beer in one format than another. And the author may have a mucheasier time with a dierent form. I remember once wring a group of paerns in a particular form. Istruggled wh them until I started er, using a dierent form. Then the patterns almost wrote themselves.But a form chae can be major. The author may be (understandably) reluctant to make such a big change,especiay when there is little te in which to reworthe paerns. It’s hard to change horses in the mileof the strm.Therefore:Find a form that fits the paern, and sde it in, one part at a time.Ask the author to provide some informaon, and thesuggest that it might work well as s own sonwh an aropriate name. For example, if the target pattern form has a separate prlem statement, ught draw out the prlem as described earer, and sest that it be set off wh a “Prlem” heading.You can eliminate secons by sesons to remove them, or combine them with other sons.The goal, of course, is to make the form serve the paern, rather than the other way aro. As ugradually introce the desired form, the author should see how the new form is useful.\\\Of course, as all the other paerns, this pattern wl noforce the author to wre certain way. It’s still upto the author. At the very least, though, the author wl be eosed to new pattern forms.Note that this pattern works very closely wh SMALL PAERNSwhich foows. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.19Small Paerns(Or: Small is Beautiful)Most of the previous paernfocus on eancing and clarifying the substance of a pattern. This mnsadding material to the pattern. And somees that materian be substantial.\\\Revising a paern, especially with input from oths (such as sheds), naturally causes it to growinto a behemoth.It is val that a paern have enough informaoto be usable. However, if the paern is too big, the readersget lost. Brevy is the soul of w.As the author as to the pattern, the new information may well overlap with the old parts of the paern.But that may not be initiay vious. On top of that, the author is understaably not eager to rip anythingoutAfter all, he wrote everything for a reason.One ght consider trying to kp the paern small by ongoing pruning efforts. But it often isn’t clr whatinformaon is nded in a paern until it has bn worked quite bit. But by then, the author may bereluctant to chae the pattern any more at all, parcularly if it inlves reming stu.Therefore:Aow the paern to grow at first, then cut the paern down. Identify extraneous chunks of thepan and me them.Although one can usually ghten the prose of a paern, redaction yields only nor rections. You ndto find whole parts of the paern that are unneceary, and take them out. For each ndidate secon, askwhat it as to the pattern, and whether it is covered elsewhere. This helps make it clr to the authorwhich parts of the paern should be remed. This is often done together with FORM FOLLOWS FUNCTI.Hypertext sorts detail that n be hidden on first rding and brought forth if desired.If the paern is very large, it may actuabe several paerns. You might sest that the author considerwhether the pattern should be broken into muiple smaller patterns. A tale-tell sign is when a paerncontains multiple solutions; a sile pattern should contain one prlem, one context, and one solution.\\\The resulng paern is smaer and clner than before, but iis almost always larger than it was at thebeginning of shepherding. That’s usuay all right; if it isn’t, u can make mulple paes on the paern.Cutng n be a diicult pro, but it is stl easier with prose than it is with source code. Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.20Candidate PatletsThe paerns counity is fortunate to have a large dy of eeriend shepherds. I poed the currentshepherds for the 9 PloP conferens, and asked for their shepherding experiens. Their responsestended to confirm and ampfy the previous paerns, and suggested several new paerns. The foowingpatterns are from them; names of the originators are given at the end of each. I have incled my owncoents in italics.This is a work in progre. Please pridfeedback, eher aut these candidates, or aut new candidatepatterns. Thanks.Patlets Drive DiscussionPaern sizes are inconsistent, irregular, or awkward.Thereforehave the author write paets for the patterns, and at first, focus the discuion on the patlets.(This is imrtant, t is it just a part of Big Picture?)(Ward Cunningham)Detas Can WaitThe paern has many annoying prlems wh grammar, spelngsentence structure, etc.Therefore, ignore them until late, even if they reaget in the wayWhen are doing major remodeling,u leave the wallpaper and trim until last; otherwise u will kp ripping out the trim u just t in.(This prably suld be promoted to full patternhood.) (David DeLanoWliam Opdyke)Rrve JuementThe work stinks.Therefore, do shepherding first; separate shepherding from evaluation. At the end, and not before, rd itfor evaluaon whether to apt. (It’s extremely imrtant to separate sheerding and judgement. Is it apattern? If so, where es it fit into this lage?) (David DeLano)rm Proves PaernThe work isn’t a paern, it is a retrd of a paper rejted from some other conferen.Therefore, ask the author to put it into a paern form (then prod to Reserve Jement…) (WilliamOpdyke) (Is this rt of Form Follows Funconor maybe Matching Prlem d Soluti To me, thisfeels almost baward. You should estlish s patternhood, prably wh Matching Prlem andSolutionand then woy t the form. m leaning away from this e.)Domain Expertise in ShepherdsYou find that you are totally lost in the paern.Therefore, selt patterns in domains u know. mpes that the prram coee allow shepherds toselt their own paerns.) (I think this paern is very imrtant. But it doesn’t sm to t in this lange,but in some closely related lge.) (Antonio Ro Sva, Jim Copen, Linda Risi)Coon Variation: English is a domain. Papers wren by non-native English speakers n profit byhaving a shepherd who speaks Elish natively or very flueny. (Andreas Rüping, William Opdyke) Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.21A Place in the WorldThe paern doesn’t acknowlee related work.Therefore, Ask how the paern relates to (spific) previous work. Often: ask how it diers from a specificprevious work. This is particularly useful where pattern sms to be a minor variaon on an existingpattern. (The problem may be wr. Perhaps the prlem is tt a pattern is a minor varit of anisng pattern. Then ask w it diffe. Is this too obvisQuite ibly, t I ve used it seralmes.) (Mark Bradac, Linda Risi)Joint SelCriticism (The Barber’s Haircut)A paern written by a coittee lks that way.Therefore, ask each author to read the whole work to ven out the wring.” It kps u as shepherd fromall that work, and kps u from inadvertently favoring one wrer eanother. (When you go to thebarber, pick the rber wh the wot ircut. Remember that they cut each othe’ hair.) (Linda Rising.)Interld CoentsSomees u just can’t get through tthe author.Therefore, embed ur coents in the document itself, so that the author n see exacy what u mean.(Is this a paern, or is it just a simple rule? It was originally in the lge, and I pulled it out for themoment.) (Neil Harrison and others) Coright 1999 Lunt TechnologiesPermission granted to cfor PLoP .All other rights reserved.22EpilogueOn the surface, these patterns are all aut how to help someone prtheir patterns. Yes, that is whatthey are all aut. But they are deeper than that. For the most part, these paerns are all authe thingsthat make paerns gd. For example, r Stories is all aut making the paern more concrete andapproachableMatching Problem and Soluon helps the shepherd, and therefore the author, focus on theeence of the paern – the solution and what prlem it solves. Many of the paerns sk to pre thequaly of the prlem. If the solution is the heart of a paern, the prlem is s soul. In my eerien, theprlem statements are typically weak, so the paerns n dirtly influence the ality of the pattern.But one can go still dper. These paerns n help us solve prlems more effecvely; they can ide usin how we approach a prlem; they can help us thi. For example, Big Picture and Matching Problemand Solution n help us get started right. I have been in several mtings where my friend and coeae,Jim Copenhas asked, ait a mite! What prlem are you solving?” This eson helps us focus onwhat we are reay trying to aompsh, and steers us away from ineecve acons. Ia like manner, allthese patterns n help us, not only in shepherding, but in general prlem solving and in relaonships whothers.AcknoedgementsSomees I think acknowledgements should go up front, so that udr reader, know who contributedto the material even as u read it. And there have been many people who have helped. Thanks go to JimCopenwho provided thought-provoking coents on arly version of the paper. Spial thanks toWard Cuingham, who took on the daunng task of shepherding a paper on shepherdi! He alsoroended that I ask the shepherd pl for coents, which resuein suggesons from the followingshepherds: Brad Appleton, Mark Bradac, rd Cuingham (again), Dennis DeBruler, David DeLano,Jua Eckstein, Robert Hanmer, William OpdykeDirk Riehle, Antonio Ro Sva, and Andreas Rüping.They have certainly enriched this laage. Thanks also to my PLoP99 wrers’ workshop group for theirinsightful comments. They were Brad Appleton, Ali Arsanjani, Ralph Cabrera, Ralph Johnson, JoLiebenauCameron Smith, Carol Stmel, and Funo Terunu.