Top Banner
Blending Product Thinking With Architecture Joel Tosi @joelTosi [email protected]
32

Blending Product Thinking with Architecture

Jan 21, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Blending Product Thinking with Architecture

Blending Product Thinking With Architecture

Joel Tosi @joelTosi

[email protected]

Page 2: Blending Product Thinking with Architecture

My Perspective

Design

Deliver

Learn

Page 3: Blending Product Thinking with Architecture

Behind Every Architecture Decision There is a Product Assumption

@joelTosi

Page 4: Blending Product Thinking with Architecture

Expected Outcomes

Simple Visuals You Can Use Now

Less 'What Architecture' and More 'When'

Leverage Product Context to Ground Decisions

Ideas on Documenting Decisions

@joelTosi

Page 5: Blending Product Thinking with Architecture

What is Architecture?

Web

API

Logic / Calculations

Fast Data Slow Data

@joelTosi

Page 6: Blending Product Thinking with Architecture

What is Architecture?

© Notes on the Synthesis of Form – Christopher Alexander @joelTosi

Page 7: Blending Product Thinking with Architecture

What is Architecture?

Reflection of System Dependencies

Optimal decomposition / Grouping

Biased simplification - mereotopology

© Notes on the Synthesis of Form – Christopher Alexander @joelTosi

Page 8: Blending Product Thinking with Architecture

Applying to Software

Are the architectures you work on simple?

Do the components have inter-dependencies & trade-offs?

Does the language of the solution bias your decisions?

@joelTosi

Page 9: Blending Product Thinking with Architecture

Using Product to Ground Decisions

@joelTosi

Page 10: Blending Product Thinking with Architecture

@joelTosi

Page 11: Blending Product Thinking with Architecture

@joelTosi

Page 12: Blending Product Thinking with Architecture

Blending Product with Architecture

Page 13: Blending Product Thinking with Architecture

Using Targets and Journeys

Page 14: Blending Product Thinking with Architecture

All the Possibilities

@joelTosi

Page 15: Blending Product Thinking with Architecture

Family Traveling

@joelTosi

Page 16: Blending Product Thinking with Architecture

Business Traveler

@joelTosi

Page 17: Blending Product Thinking with Architecture

Adventurer

@joelTosi

Page 18: Blending Product Thinking with Architecture

Determining Decision Points

Known

Uncertain

DependentIsolated

@joelTosi

Page 19: Blending Product Thinking with Architecture

Sample Market Data

Known

Uncertain

DependentIsolated

MessageLatency

MessageFormat

Caching

RecoveryAPI

DataSegregation

LoggingFramework

Containers

MediumsPartners

AuthenticationEntitlement

MatchingAlgorithms

@joelTosi

Page 20: Blending Product Thinking with Architecture

MicroServices

@joelTosi

Page 21: Blending Product Thinking with Architecture

Chaos!

@joelTosi

Page 22: Blending Product Thinking with Architecture

In Action

Page 23: Blending Product Thinking with Architecture

Understanding the Assumptions of your Architecture

@joelTosi

Page 24: Blending Product Thinking with Architecture

How it Will Be Used vs What You Want

Page 25: Blending Product Thinking with Architecture

What if you were wrong?

@joelTosi

Page 26: Blending Product Thinking with Architecture

Try This

Document Product Assumptions You Are Making

Document Technical Assumptions You Are Making

Think of 3 Ways You Might Be Wrong

For Each Error, What Would Change?

@joelTosi

Page 27: Blending Product Thinking with Architecture

What Are Your Constraints?

Never been a perfect architecture

Use Product Discussions to see what decisions when

Grow context around the decisions - why / when

What Can You Do About It? Necessary or Accidental?

Assumed or Real?

@joelTosi

Page 28: Blending Product Thinking with Architecture

Would New Constraints Help?

Not All of the Databases

No New Code

Must Respond in Less Than 2 Seconds

@joelTosi

Page 29: Blending Product Thinking with Architecture

Our Job

Take a World of Possibilities… Apply Proper Product Understanding and Constraints… To Deliver Maneuverable Systems

That Bring Joy

@joelTosi

Page 30: Blending Product Thinking with Architecture

Recap

Be aware of models and dependencies

Use Product Discussions to avoid language bias

Use Journeys to find when decisions can be made

Understand parts of the system need to be right / emerge

@joelTosi

Page 31: Blending Product Thinking with Architecture

Recommended Reading

Jerry Weinberg – Are Your Lights On?

Christopher Alexander -

Notes on the Synthesis of Form

Page 32: Blending Product Thinking with Architecture

[email protected] @joeltosi

Questions?

Coaching & Developing Product

Discovery & Delivery

MicroServices Course - http://bit.ly/2cQxls1

_________________________________________

_________________________________________