Transcript
Page 1: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Introduction to Architecture Centric Design Thinking

Michael KeelingIBM@michaelkeeling

Page 2: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Herbert Simon,The Sciences of the Artificial, 1969

Introduces design as a “way of thinking.”

2

Page 3: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Node school desk by IDEO and steelcase3

Page 4: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

4

Page 5: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

There is more to design in a software system than just the user interface.

5

Page 6: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Many different perspectives of design…

• Product Vision• Sales / Business• Information Architecture• User Interface• Hardware• Development / Code Details• Software Architecture

7

Page 7: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Software Architecture

Information Hardware

UIProductSales

Development8

Page 8: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Software architecture is thefoundation upon which a

software intensive system is built.

9

Page 9: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Thinking forSoftware Architecture

10

Page 10: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

[1] Visser, W. 2006, The cognitive artifacts of designing, Lawrence Erlbaum Associates. 11

Page 11: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

What is Design?

• Noun– “The design”

• Verb– “To design”

• Sensibility– “Great design”

• Methods– Act of doing/creating the above

The Design of Design: Essays from a Computer Scientist by Fred Brooks 12

Page 12: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Thinking

1. A way of thinking about design.

2. A collection of design focused methods.

13

Page 13: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

A WAY OF THINKINGABOUT DESIGN

14

Page 14: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

A set of modes that can be applied in any order.

A mindset.

15

Page 15: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Modes

Explore

Evaluate

Understand

Make

16

Page 16: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Understand

Actively seek information from stakeholders and work to (re)frame the problem.

17

Page 17: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Explore

Use generative thinking to identify design concepts and engineering approaches.

18

Page 18: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Make

Realize design concepts by creating them in the real world as a model, prototype, program, or other artifact.

19

Page 19: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Evaluate

Determine the fitness of design decisions and decide whether to revisit other modes.

20

Page 20: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Modes

Explore

Evaluate

Understand

Make

21

Page 21: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

A COLLECTION OFDESIGN FOCUSED METHODS

22

Page 22: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Method

An activity that embracesspecific design modes andactively promotes learning.

23

Page 23: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Architecture-Focused Design Methods• Understand: Quality attribute scenarios, personas, empathy map, system

properties web, architecture drivers specification, user journey, elevator pitch, user mad lib, …

• Explore: System journey, design the extremes, define the design concept, yours and mine list, round-robin, estimate the elements, system research, soap boxing, paths not taken, name the styles/patterns, …

• Make: Create a template, mock-ups, paper prototype, functional prototype, sketches/cartoons, architecturally evident coding style, system metaphor, architecture haiku, context diagram, utility tree, module decomposition, viewpoints and views, must reads list, …

• Evaluate: Scenario walk-through, dot voting, I like/I wish/what if, feedback capture grid, risk storming, bull’s eye, Question-Comment-Concern,… 24

Page 24: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Question – Comment – Concern

Evaluate25

Page 25: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

26

Page 26: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Question – Comment – Concern

Brainstorming technique that helps quickly identify and visualize specific areas in the system that may require further thought.

Benefits:• Visualize risky or concerning parts of the system• Promote knowledge sharing• Identify areas in need of research or exploration27

Page 27: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Stakeholder Maps

Understand

28

Page 28: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural
Page 29: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Stakeholder Map

A network diagram of the people involved with or impacted by a given system or system design.

Benefits: • Identify more than the usual stakeholders• Document, guide plans for research• Keep focus on people rather than technologies

Page 30: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

System Properties Web(or Quality Attributes Web)

Understand

31

Page 31: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural
Page 32: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

System Properties Web

Help stakeholders to collaboratively generate, affinity cluster, and prioritize raw quality attribute scenarios

Benefits:• Focus on system qualities over functions/feature• Visually show how systems differ by looking at quality attributes

Page 33: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

APPLYING ARCHITECTURE FOCUSED DESIGN THINKING

34

Page 34: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Mindset + Methods

How do I decide what to do next?

35

Page 35: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Any Order…

Explore

Evaluate

Understand

Make

36

Page 36: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Workshop

Ordered set of methods that help designers reach a desired outcome.

37

Page 37: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Understand

Make

Example: Quality Attributes Workshop

1. QAW Introduction2. Business/Mission Presentation3. Architectural Plan Presentation4. Identification of Architectural Drivers5. Scenario Brainstorming6. Scenario Consolidation7. Scenario Prioritization8. Scenario Refinement

Evaluate

Make/ Understand

38

Page 38: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

A generalized workshop agenda.

39

Page 39: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

40

Page 40: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Three Fs of a Good Workshop

FastEffectiveFun

(Don’t waste our time.)

(Learn what you need to learn.)

(Increase engagement and creativity.)

41

Page 41: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

42

Page 42: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Ground rules set expectations for participants’ behavior.

43

Page 43: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Agenda Tips

• No surprises• Are the right people in the room?• Don’t forget breaks• Be prepared• Where can you be flexible?

44

Page 44: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Example: Ground Rules• No right or wrong answers• Watch the clock (I’ll help too)

– I’ll give you time limits– When it’s time, it’s time

• Ask questions if you need help or clarification• Help each other• HAVE FUN!

45

Page 45: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

46

Page 46: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

~5 minutes

47

Page 47: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Stoke

Brief activity designed to initiate active learning and encourage participation.

48

Page 48: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

49

Page 49: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Example Stokes

• Say a few words• Sound Ball• Rock – Paper – Scissors • Yes Let’s• High Fives

• Any brief activity that gets people talking or moving50

Page 50: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Everyone has a voice.Everyone has an opinion.

51

Page 51: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

~5 minutes

52

Page 52: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

~5 minutesVaries…

53

Page 53: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

What do you need to learn?

54

Page 54: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

For the workshop overall and each activity…

Explore

Evaluate

Understand

Make

55

Page 55: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Who can participate?

56

Page 56: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

How much time do you have?

57

Page 57: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Introducing a Method

1. Share the objective2. Describe the method step-by-step3. Show an example4. Describe the method again (with hints)5. Set a time limit

59

Page 58: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

~5 minutes

Varies…

60

Page 59: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

• Objectives• Agenda• Ground Rules• Stoke• Design Methods• Wrap-up

Structure of a Workshop

Set the stage< 15 minutes

~5 minutes

Varies…~10 minutes

61

Page 60: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Closing a Workshop

• Reflection• Insights• Action Items

62

Page 61: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

YOUR TURN…

63

Page 62: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Some parting advice…

There’s a lot more to architecture and design than workshops, sticky notes,

and pretty pictures.

64

Page 63: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

65

Page 64: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Thinking

1. A way of thinking about design.

2. A collection of design focused methods.

66

Page 65: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Design Modes

Explore

Evaluate

Understand

Make

67

Page 66: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Architecture-Focused Design Methods• Understand: Quality attribute scenarios, personas, empathy map, system

properties web, architecture drivers specification, user journey, elevator pitch, user mad lib, …

• Explore: System journey, design the extremes, define the design concept, yours and mine list, round-robin, estimate the elements, system research, soap boxing, paths not taken, name the styles/patterns, …

• Make: Create a template, mock-ups, paper prototype, functional prototype, sketches/cartoons, architecturally evident coding style, system metaphor, architecture haiku, context diagram, utility tree, module decomposition, viewpoints and views, must reads list, …

• Evaluate: Scenario walk-through, dot voting, I like/I wish/what if, feedback capture grid, risk storming, bull’s eye, Question-Comment-Concern,… 68

Page 67: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

http://bit.ly/sw-arch-exploration

More details available…

…feedback is welcome and appreciated

69

Page 68: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

“Great designs come from great designers.”

- Fred BrooksFred Brooks, “The Design of Design”, 2010 70

Page 69: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Let’s work together to become better at design and grow the next generation of software architects.

71

Page 70: Introduction to Architecture-Centric Design Thinking · UI. Sales. Development. 8. ... soap boxing, paths not taken, ... Architectural Plan Presentation 4. Identification of Architectural

Silver Toolbox


Recommended