2. Allan Kelly…
Chapters in…
• Business Analysis and Leadership, Pullan &
Archer 2013
• 97 Things Every Programmer Should Know,
Henney, 2010
• Context Encapsulation in Pattern Languages of
Program Design, vol#5, 2006
Consulting on software
development & strategy
Training for Agile
Author
– Changing Software Development: Learning to be
Agile (2008, Wiley)
– Business Patterns for Software Developers (2012,
Wiley - ISBN: 978-1119999249)
– Xanpan: Reflections on agile (work in progress)
https://leanpub.com/xanpan
3. BAs! Do you?
• Think
– “Someone must have done this before”
• Struggle to identify the real
problem?
• And … if…
– Everyone else does something similar
– Does innovation lie in doing it
differently?
4. Patterns might help
• Learn to…
– See patterns
– Apply pattern thinking/analysis
• Use patterns from others
– Build on the work of others
6. Playing and Learning
You often see babies looking very intensely at something, or trying to
put things into containers and taking them out again. As a child gets
older the shape of the object becomes even more fascinating and
often the child tries to put it into the right shaped container. Older
children can begin to name more complicated shapes such as
hexagons as well as being able to use shape and colour repetitively to
create a pattern. The knowledge of how patterns work also allows
them to predict what comes next.
From the Science Museum, London, Patterns exhibition February 2013
7. What is a pattern?
• Casual patterns – everywhere!
• Formal patterns
– Started with architecture
– Christopher Alexander
9. 3 (no code) books worth knowing...
Organizational Patterns of Agile
Software Development
Jim Coplien & Neil Harrison
Business Patterns for Software
Developers
Allan Kelly
Fearless Change
Mary Lynn Manns & Linda Rising
10. What is a pattern?
A solution
To a problem
In a context
A reoccurring
solution
A known
solution
12. SAME CUSTOMER, DIFFERENT PRODUCT
• The Customer is the Asset
Solution: Expand your
product offering so you have
more products to sell to your
existing customers. Do this
by focusing on the customer
needs rather than the
product.
Problem: How do you maximise your
return from existing customers?
Taken from Business Patterns 2012
13. Pattern v. pattern
A pattern
• Reoccurring solution
• Maybe a solution to a
problem in a context
• Not formally documented
• Not formally reviewed
• Not printed
• Not taken to a conference
A Pattern
• Reoccurring solution
• A solution to a problem in a
context
• Formally documented
• Peer reviewed (at a *PLoP
conference)
• Printed
Pattern with a small-p Pattern with a capital-P
15. Solution & Implementation
Solution
3 Known Uses
Problem
Forces
Consequences
Context
Pattern thinking for analysis
No known uses to
start with
Start: What is the problem
you have?
2: What makes this hard?
What else is there?
3: What can’t be changed?
4. Iterate!
Go round
& round
5: What would you hope
would be the outcome?
You might get some
ideas on solution but
that is not the aim!
16. What makes a problem hard?
• A single problem?
– A problem with many forces contributing
– Making solutions hard to find
17. Problem solving
• Is this unique?
– Could there be a pattern about
this already?
– Go research!
• Apply pattern thinking
– What is the problem?
– What makes it hard? – forces!
– And the context? (Un-changable)
Image from Steven Walling 2010 via
WikiCommons
Creative Commons License
18. Innovation
• Steal from other / use existing Patterns
– Innovation may be new to you
• What are the current patterns?
– In business, in solution, in process
• Mix patterns in unusual ways
• Go against pattern
– If everyone else does X why not try Y ?
20. Where can I find out more?
• Books
– Business Analysts & Leadership
chapter on patterns
• Google
– But not all patterns are equal
– Look at review process
• My website
– http://www.allankelly.net/patterns
• Conferences
– http://www.europlop.net