210 likes | 731 Views
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 manns@unca.edu ajocallaghan@cs.com
E N D
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.orgmanns@unca.eduajocallaghan@cs.com We don’t do lectures … instead, we engage people in interactive experiences that transform rather than simply inform. - paraphrased from Industrial Logic
Patterns: the beginning • Tutorial at OOPSLA 1994 • GoF Book • Still selling well • The first of many patterns books
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
The Quality Without a Name There 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.html http://www.sunlighthomes.com/t.patlang.html
Patterns - some definitions A 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)
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.
Different kinds of patterns • Architectural patterns • Design patterns • Organization and Process patterns • System Test patterns • Customer Interaction patterns • Training patterns
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.
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
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
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?
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
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
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!
Some of the patterns Roles Connectors Corporate Angel Dedicated Champion Early Adopters Evangelist Innovators Local Leader Pattern Mentor Respected Techie
Some of the patterns (continued) Some Techniques Information sessions Dealing with skeptics Big Jolt Adopt a Skeptic Hometown Story So What’s New? Study Groups Fear Less Brown Bag Do Food Proof of Concept Gold Mine Showing Relevance Just Do It Personal Touch Pilot Project Pieces of Clay
One sequence through the language Evangelist To introduce patterns into your organization, let your passion for the new approach drive you. Brown Bag Use the time when people normally eat lunch to provide a relaxed atmosphere for learning about patterns. Innovators When beginning to introduce patterns, Ask for Help from a group of co-workers who take an early interest in patterns. e-Forum Set up a bulletin board, distribution list, or listserver for those who want to hear more.
One sequence through the language (continued) Respected Techie Enlist the support of senior-level technical people who are esteemed by members of the organization. Just Do It To 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 Touch Show individuals how patterns can be personally useful and valuable to them. Study Groups Form 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.
One sequence through the language (continued) Big Jolt To give more visibility to the patterns effort, invite a well-known person to do a presentation. Plant the Seeds Carry patterns material (seeds) with you to “plant” the idea of patterns whenever the opportunity arises. Royal Audience Arrange for management and members of the organization who have helped with the patterns effort to spend time with a Big Jolt visitor. Dedicated Champion Make patterns part of your job description so that your effectiveness can increase considerably. etc. etc. etc.
Summary The 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!
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