Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary...

21
Introducing Patterns (or any new idea) into Organizations http://www.cs.unca.edu/~manns/intropatterns .html Linda Rising Mary Lynn Manns Alan O’Callaghan risingl @acm.org [email protected] [email protected] We don’t do lectures … instead, we engage people in interactive experiences that transform rather than simply inform. - paraphrased from

Transcript of Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary...

Page 1: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Introducing Patterns (or any new idea)

into Organizationshttp://www.cs.unca.edu/~manns/intropatterns.html

Linda Rising Mary Lynn Manns Alan O’Callaghan [email protected] [email protected] [email protected]

We don’t do lectures … instead, we engage people in interactive experiences that transform rather than simply inform.

- paraphrased from Industrial Logic

Page 2: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Patterns: the beginning Tutorial at OOPSLA 1994 GoF Book

Still selling well The first of many patterns

books

Page 3: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

What is a pattern?Each pattern describes a problem

that occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solution a million times

over without ever doing it the same way twice.

Alexander, A Pattern Language, 1977

Page 4: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

The Quality Without a NameThere is a central quality which is the root criterion of life and spirit in [all things]. This quality is objective and precise, but it cannot be named. The search which we make for this quality, in our own lives, is the central search of any person. It is the search for those moments and situations when we are most alive.

Alexander, A Timeless Way of Building, 1979

http://www.math.utsa.edu/sphere/salingar/Chris.text.htmlhttp://www.sunlighthomes.com/t.patlang.html

Page 5: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Patterns - some definitionsA solution to a recurring problem in a context.

Patterns are not theoretical constructs but based on experience. They capture what experts do and enable these solutions to be shared with everyone.

Distilled reusable knowledge. (Don Firesmith)

Patterns don’t give you code you can drop into your application, they give you experience you can drop into your head. (Patrick Logan)

Page 6: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Why are patterns important?Patterns provide an incredibly dense means of efficient and effective

communication between those who know the language. (N. Kirby) Human communication is the bottleneck in software development. If

[patterns] can help [developers] communicate with their clients, their customers, and each other, then [patterns] help fill a crucial need in [our industry]. (J. Coplien)

[Patterns] capture important practices of existing methods and practices not codified by conventional methods… (J. Coplien)

Patterns offer both a form for capturing knowledge and a process for using that knowledge to create quality software.

Page 7: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Different kinds of patterns Architectural patterns Design patterns Organization and Process patterns System Test patterns Customer Interaction patterns Training patterns

Page 8: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Organizational patterns Jim Coplien has documented a pattern language

for organizational and process problems. His goal was to identify characteristics of hyper-

productive teams. Successful teams share an amazing number of

patterns. Important patterns are missing from unsuccessful

teams.

Page 9: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Patterns for introducing patterns Linda Rising wrote initial patterns with David DeLano OOPSLA Workshop 1996 Shepherded and workshopped at PLoP ’97 Mary Lynn Manns used these patterns at U S West and created

an extension of the pattern language Shepherded and workshopped at PLoP ’99 Rising and Manns met at ChiliPLoP 2000 OOPSLA Workshop 2000 Simulations at OT 2001 OOPSLA Tutorial 2001

Page 10: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Pattern languages

A pattern solves a recurring problem in a particular context

A new context and new problems result Patterns always work together to solve problems in a

particular domain This kind of collection of related patterns is called a

pattern language

Page 11: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Alexander’s pattern language The best example of a pattern language Alexander, C.A. et al, A Pattern Language, Oxford

University Press, 1977. To build something, where do I start? What do I do next?

Page 12: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

The Introducing Patterns into Organizations Pattern Language … building it

Each pattern has one or more originators or authors Many pattern mining techniques

Our experiences Others’ experiences Supported by other publications

Individual patterns and the pattern language has evolved iteratively

Format is based on Alexander’s pattern format

Page 13: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

The Introducing Patterns into Organizations Pattern Language … using it

Organizations start at different points in the language and use different sequences through the patterns

Organizations have different goals for “introducing patterns” such as: Individuals use patterns Teams of individuals develop a common language Philosophy of Alexander is integrated A patterns repository is built

Page 14: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Introducing new ideas – the forces Most people are skeptical (to varying degrees) of new ideas There are so many new ideas that we can’t keep up We don’t have reliable ways of evaluating new ideas We’re all too busy Different organizations need different ways to “introduce” new ideas Some organizations have no or limited resources It takes time and energy to convince others of new ideas Organizational change is not top-down or bottom-up, but participative at all

levels, aligned through a common understanding Change is not an event; it is a process (often a long process)

Result: This is a hard problem!

Page 15: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Some of the patternsRoles

ConnectorsCorporate Angel

Dedicated ChampionEarly Adopters

EvangelistInnovators

Local LeaderPattern Mentor

Respected Techie

Page 16: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Some of the patterns (continued)

Some Techniques

Information sessions Dealing with skepticsBig Jolt Adopt a SkepticHometown Story So What’s New?Study Groups Fear LessBrown Bag

Do Food Proof of Concept Gold Mine

Showing Relevance Just Do ItPersonal Touch Pilot Project Pieces of Clay

Page 17: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

One sequence through the languageEvangelistTo introduce patterns into your organization, let your passion for the new

approach drive you.Brown BagUse the time when people normally eat lunch to provide a relaxed atmosphere

for learning about patterns. InnovatorsWhen beginning to introduce patterns, Ask for Help from a group of co-workers

who take an early interest in patterns.e-ForumSet up a bulletin board, distribution list, or listserver for those who want to hear

more.

Page 18: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

One sequence through the language (continued)

Respected TechieEnlist the support of senior-level technical people who are esteemed by

members of the organization.Just Do ItTo prepare yourself for spreading the word about patterns, gather first-hand

information on their benefits and limitations by integrating them into your current work.

Personal TouchShow individuals how patterns can be personally useful and valuable to them. Study GroupsForm a small group of colleagues who are interested in a specific topic as a

next step for newcomers to learn about patterns or a good way for those familiar with patterns to continue learning.

Page 19: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

One sequence through the language (continued)

Big JoltTo give more visibility to the patterns effort, invite a well-known person to do a

presentation.Plant the SeedsCarry patterns material (seeds) with you to “plant” the idea of patterns whenever

the opportunity arises.Royal AudienceArrange for management and members of the organization who have helped

with the patterns effort to spend time with a Big Jolt visitor.Dedicated ChampionMake patterns part of your job description so that your effectiveness can

increase considerably.etc. etc. etc.

Page 20: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

SummaryThe message of the patterns community is that we all

have something to share and learn.

Patterns provide a way to capture knowledge and transmit experience to others.

The patterns in this presentation have been successfully used in companies around the world to introduce new ideas.

Take the ones that can help you and begin to change your organization!

Page 21: Introducing Patterns (or any new idea) into Organizations manns/intropatterns.html Linda RisingMary Lynn MannsAlan O’Callaghan.

Recent changes to the language Added one pattern:

Just Say Thanks Changed names and focus of two patterns:

Ask for Help (was Corporate Resources) Early Adopters (was Grass Roots)

Various additions and edits throughout