SlideShare a Scribd company logo
If your team is an object,
what is its API?
(Object-Oriented Team Design)
Andrew Annett
@akannett
PLEASE NOTE
SLIDES ≠ PRESENTATION
• These slides are designed to be viewed in
conjunction with a human being talking and
interacting with you.
• They may not make much sense to you if you
were not at the live session.
The BIG idea:
Let’s talk with teams about
organizing work in terms they use
every day – object-oriented
design
Why is this important?
…object-oriented design is
fundamentally different than
traditional structured design
approaches: it requires different
ways of thinking about
decomposition, and it produces
software architectures that are
largely outside the realm of
structured design culture.
- Grady Booch, 1991
Why is this important?
…object-oriented design is
fundamentally different than
traditional structured design
approaches: it requires different
ways of thinking about
decomposition, and it produces
organizational architectures that are
largely outside the realm of
structured design culture.
- Me, 2017
Methods
An object can DO stuff:
An object KNOWS (private) stuff:
Methods
Variables
An object interacts with others
via messages;
it has
behaviour
Methods
Variables
Interface
Because it has
behaviour, an
object can be
thought of as an
“animated data store”
Methods
Variables
Interface
An object's autonomy doesn't
extend to choices
in shared
standards and
protocols
Methods
Variables
Interface
“You don’t send messages
because you have objects, you
have objects because you send
messages” – Sandi Metz
Private Kitchen methods + knowledgeMessagesPublic Restaurant Interface
Diner – Kitchen Object Relationship
Relationship is the infrastructure for tasks
What is an API*?
Technically, an API is a set
of rules that two sides of
an interaction agree to
follow. It’s implemented as
an INTERFACE
* Application Programming Interface
The value of an API
It decouples an object’s function
from its implementation
It makes future (internal) change
easier
Dependency on a private method is
a form of technical (and
organizational) debt
The goal of an API
Create public interfaces that allow
senders to get (or do) what they
want without knowing how your
team implements its behaviour
POST
GET
PUT
DELETE
RESTful* messages types
* REpresentational State Transfer
Work on this initiative
Add this team member
Do this thing differently
Can you also do this thing?
What are you working on?
When will you be done?
What skillsets are needed?
Who is dependent on you?
What skillsets does your team have?
What risks are you accepting?
What are your dependencies?
What will be delivered?
How is team morale?
Stop working on current item(s)
Reduce team size
POST
GET
PUT
DELETE
Typical RESTful messages sent to Teams
Work on this initiative
Add this team member
Do this thing differently
Can you also do this thing?
What are you working on?
When will you be done?
What skillsets are needed?
Who is dependent on you?
What skillsets does your team have?
What risks are you accepting?
What are your dependencies?
What will be delivered?
How is team morale?
Stop working on current item(s)
Reduce team size
POST
GET
PUT
DELETE
Story map, options board
Reteaming, Onboarding
Story map, options board
Release plan
Story map,
Skills matrix
Release plan
Issues board
Defect density plot
Throughput histogram
Dependency graph
Cumulative Flow Diagram
Happiness Index
Dependency graph
Skills matrix
Useful METHODS to respond to messages
Helpful OOD principles
S ingle Responsibility….
L iscov Substitution…
O pen/Closed (Extension/Modification)…
D ependency Inversion…
I nterface segregation……………
Unhelpful non-OOD principles
S ingleton
T ight Coupling
U ntestable
P remature Optimization
I ndescriptive naming
D uplication
If you’re a reader:
David A Taylor
Business Engineering
with Object Technology
Dave Grey
The Connected
Company
David West
Object Thinking
Sandi Metz
Practical Object-
Oriented Design in
Ruby
Thanks for your attention!
@akannett
andrew@leanintuit.com

More Related Content

Similar to What's your team's API? - Object-Oriented Team Design

Bridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality MapsBridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality Maps
Malini Rao
 
Melbourne Service Jam Toolkit
Melbourne Service Jam ToolkitMelbourne Service Jam Toolkit
Melbourne Service Jam Toolkit
stefanie85
 
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave MaloufAssessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
Web à Québec
 
Measuring & Evaluating Your DesignOps Practice
Measuring & Evaluating Your DesignOps PracticeMeasuring & Evaluating Your DesignOps Practice
Measuring & Evaluating Your DesignOps Practice
Dave Malouf
 
Martin folwer
Martin folwerMartin folwer
Martin folwer
Shiraz316
 
Read a selection of your colleagues’ postings.Respond by Day.docx
Read a selection of your colleagues’ postings.Respond by Day.docxRead a selection of your colleagues’ postings.Respond by Day.docx
Read a selection of your colleagues’ postings.Respond by Day.docx
niraj57
 
Personas Demystified 1.0
Personas Demystified 1.0Personas Demystified 1.0
Personas Demystified 1.0
Mo Goltz
 
Odile the organisation designer
Odile the organisation designerOdile the organisation designer
Odile the organisation designer
Intersection Group
 
How to Get Started with Agile when You Don't Know Where to Start
How to Get Started with Agile when You Don't Know Where to StartHow to Get Started with Agile when You Don't Know Where to Start
How to Get Started with Agile when You Don't Know Where to Start
Jason Little
 
Design Operations
Design OperationsDesign Operations
Design Operations
Dave Malouf
 
Quickfire for Net Impact
Quickfire for Net ImpactQuickfire for Net Impact
Quickfire for Net Impact
Chelsea Souter
 
Intranet design strategies2011 (nx power lite)
Intranet design strategies2011 (nx power lite)Intranet design strategies2011 (nx power lite)
Intranet design strategies2011 (nx power lite)
Sara Durning, MDes
 
Design Thinking Method Sticker 2014
Design Thinking Method Sticker 2014Design Thinking Method Sticker 2014
Design Thinking Method Sticker 2014
Design Thinking HSG
 
Harnessing the benefits of online communities of practice (CoPs)
Harnessing the benefits of online communities of practice (CoPs)Harnessing the benefits of online communities of practice (CoPs)
Harnessing the benefits of online communities of practice (CoPs)
johnt
 
Rapid Product Design in the Wild, Agile 2013
Rapid Product Design in the Wild, Agile 2013Rapid Product Design in the Wild, Agile 2013
Rapid Product Design in the Wild, Agile 2013
Michele Ide-Smith
 
UX ROI London 2019
UX ROI London 2019UX ROI London 2019
UX ROI London 2019
Gal Agmon
 
IBM Enterprise Design Thinking
IBM Enterprise Design ThinkingIBM Enterprise Design Thinking
IBM Enterprise Design Thinking
Ahmed Reda Kraiz
 
Time to Good DX
Time to Good DXTime to Good DX
Time to Good DX
Claire Moss
 
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)
Markus Breuer
 
Design process
Design processDesign process
Design process
Karthi Subbaraman
 

Similar to What's your team's API? - Object-Oriented Team Design (20)

Bridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality MapsBridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality Maps
 
Melbourne Service Jam Toolkit
Melbourne Service Jam ToolkitMelbourne Service Jam Toolkit
Melbourne Service Jam Toolkit
 
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave MaloufAssessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
Assessing Your Current DesignOps Practice: A Heuristic Model - Dave Malouf
 
Measuring & Evaluating Your DesignOps Practice
Measuring & Evaluating Your DesignOps PracticeMeasuring & Evaluating Your DesignOps Practice
Measuring & Evaluating Your DesignOps Practice
 
Martin folwer
Martin folwerMartin folwer
Martin folwer
 
Read a selection of your colleagues’ postings.Respond by Day.docx
Read a selection of your colleagues’ postings.Respond by Day.docxRead a selection of your colleagues’ postings.Respond by Day.docx
Read a selection of your colleagues’ postings.Respond by Day.docx
 
Personas Demystified 1.0
Personas Demystified 1.0Personas Demystified 1.0
Personas Demystified 1.0
 
Odile the organisation designer
Odile the organisation designerOdile the organisation designer
Odile the organisation designer
 
How to Get Started with Agile when You Don't Know Where to Start
How to Get Started with Agile when You Don't Know Where to StartHow to Get Started with Agile when You Don't Know Where to Start
How to Get Started with Agile when You Don't Know Where to Start
 
Design Operations
Design OperationsDesign Operations
Design Operations
 
Quickfire for Net Impact
Quickfire for Net ImpactQuickfire for Net Impact
Quickfire for Net Impact
 
Intranet design strategies2011 (nx power lite)
Intranet design strategies2011 (nx power lite)Intranet design strategies2011 (nx power lite)
Intranet design strategies2011 (nx power lite)
 
Design Thinking Method Sticker 2014
Design Thinking Method Sticker 2014Design Thinking Method Sticker 2014
Design Thinking Method Sticker 2014
 
Harnessing the benefits of online communities of practice (CoPs)
Harnessing the benefits of online communities of practice (CoPs)Harnessing the benefits of online communities of practice (CoPs)
Harnessing the benefits of online communities of practice (CoPs)
 
Rapid Product Design in the Wild, Agile 2013
Rapid Product Design in the Wild, Agile 2013Rapid Product Design in the Wild, Agile 2013
Rapid Product Design in the Wild, Agile 2013
 
UX ROI London 2019
UX ROI London 2019UX ROI London 2019
UX ROI London 2019
 
IBM Enterprise Design Thinking
IBM Enterprise Design ThinkingIBM Enterprise Design Thinking
IBM Enterprise Design Thinking
 
Time to Good DX
Time to Good DXTime to Good DX
Time to Good DX
 
Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)Usability in Virtual Worlds (Metaverse08)
Usability in Virtual Worlds (Metaverse08)
 
Design process
Design processDesign process
Design process
 

Recently uploaded

The Management Guide: From Projects to Portfolio
The Management Guide: From Projects to PortfolioThe Management Guide: From Projects to Portfolio
The Management Guide: From Projects to Portfolio
Ahmed AbdelMoneim
 
Ganpati Kumar Choudhary Indian Ethos PPT.pptx
Ganpati Kumar Choudhary Indian Ethos PPT.pptxGanpati Kumar Choudhary Indian Ethos PPT.pptx
Ganpati Kumar Choudhary Indian Ethos PPT.pptx
GanpatiKumarChoudhar
 
innovation in nursing practice, education and management.pptx
innovation in nursing practice, education and management.pptxinnovation in nursing practice, education and management.pptx
innovation in nursing practice, education and management.pptx
TulsiDhidhi1
 
Integrity in leadership builds trust by ensuring consistency between words an...
Integrity in leadership builds trust by ensuring consistency between words an...Integrity in leadership builds trust by ensuring consistency between words an...
Integrity in leadership builds trust by ensuring consistency between words an...
Ram V Chary
 
Enriching engagement with ethical review processes
Enriching engagement with ethical review processesEnriching engagement with ethical review processes
Enriching engagement with ethical review processes
strikingabalance
 
Public Speaking Tips to Help You Be A Strong Leader.pdf
Public Speaking Tips to Help You Be A Strong Leader.pdfPublic Speaking Tips to Help You Be A Strong Leader.pdf
Public Speaking Tips to Help You Be A Strong Leader.pdf
Pinta Partners
 
Strategic Org Design with Org Topologies™
Strategic Org Design with Org Topologies™Strategic Org Design with Org Topologies™
Strategic Org Design with Org Topologies™
Alexey Krivitsky
 
Credit-Management seminar for cooperative power point presentation
Credit-Management seminar for cooperative power point presentationCredit-Management seminar for cooperative power point presentation
Credit-Management seminar for cooperative power point presentation
bernanbumatay1
 
Comparing Stability and Sustainability in Agile Systems
Comparing Stability and Sustainability in Agile SystemsComparing Stability and Sustainability in Agile Systems
Comparing Stability and Sustainability in Agile Systems
Rob Healy
 
12 steps to transform your organization into the agile org you deserve
12 steps to transform your organization into the agile org you deserve12 steps to transform your organization into the agile org you deserve
12 steps to transform your organization into the agile org you deserve
Pierre E. NEIS
 
Myrna Story of Leadership and Management
Myrna Story of Leadership and ManagementMyrna Story of Leadership and Management
Myrna Story of Leadership and Management
Waleed Kamal
 
一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理
8p28uk6g
 
Sethurathnam Ravi: A Legacy in Finance and Leadership
Sethurathnam Ravi: A Legacy in Finance and LeadershipSethurathnam Ravi: A Legacy in Finance and Leadership
Sethurathnam Ravi: A Legacy in Finance and Leadership
Anjana Josie
 
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
Alexey Krivitsky
 
Strategy for E-Types - Strategy Formulation.pptx
Strategy for E-Types - Strategy Formulation.pptxStrategy for E-Types - Strategy Formulation.pptx
Strategy for E-Types - Strategy Formulation.pptx
KarthikRaghu8
 
Employment Practices Regulation and Multinational Corporations
Employment PracticesRegulation and Multinational CorporationsEmployment PracticesRegulation and Multinational Corporations
Employment Practices Regulation and Multinational Corporations
RoopaTemkar
 
Addiction to Winning Across Diverse Populations.pdf
Addiction to Winning Across Diverse Populations.pdfAddiction to Winning Across Diverse Populations.pdf
Addiction to Winning Across Diverse Populations.pdf
Bill641377
 
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
Dr. Nazrul Islam
 
Team Building and TUCKMANS MODEL Explained
Team Building and TUCKMANS MODEL ExplainedTeam Building and TUCKMANS MODEL Explained
Team Building and TUCKMANS MODEL Explained
iampriyanshujaiswal
 
Chart--Time Management.pdf How to time is spent
Chart--Time Management.pdf How to time is spentChart--Time Management.pdf How to time is spent
Chart--Time Management.pdf How to time is spent
spandane
 

Recently uploaded (20)

The Management Guide: From Projects to Portfolio
The Management Guide: From Projects to PortfolioThe Management Guide: From Projects to Portfolio
The Management Guide: From Projects to Portfolio
 
Ganpati Kumar Choudhary Indian Ethos PPT.pptx
Ganpati Kumar Choudhary Indian Ethos PPT.pptxGanpati Kumar Choudhary Indian Ethos PPT.pptx
Ganpati Kumar Choudhary Indian Ethos PPT.pptx
 
innovation in nursing practice, education and management.pptx
innovation in nursing practice, education and management.pptxinnovation in nursing practice, education and management.pptx
innovation in nursing practice, education and management.pptx
 
Integrity in leadership builds trust by ensuring consistency between words an...
Integrity in leadership builds trust by ensuring consistency between words an...Integrity in leadership builds trust by ensuring consistency between words an...
Integrity in leadership builds trust by ensuring consistency between words an...
 
Enriching engagement with ethical review processes
Enriching engagement with ethical review processesEnriching engagement with ethical review processes
Enriching engagement with ethical review processes
 
Public Speaking Tips to Help You Be A Strong Leader.pdf
Public Speaking Tips to Help You Be A Strong Leader.pdfPublic Speaking Tips to Help You Be A Strong Leader.pdf
Public Speaking Tips to Help You Be A Strong Leader.pdf
 
Strategic Org Design with Org Topologies™
Strategic Org Design with Org Topologies™Strategic Org Design with Org Topologies™
Strategic Org Design with Org Topologies™
 
Credit-Management seminar for cooperative power point presentation
Credit-Management seminar for cooperative power point presentationCredit-Management seminar for cooperative power point presentation
Credit-Management seminar for cooperative power point presentation
 
Comparing Stability and Sustainability in Agile Systems
Comparing Stability and Sustainability in Agile SystemsComparing Stability and Sustainability in Agile Systems
Comparing Stability and Sustainability in Agile Systems
 
12 steps to transform your organization into the agile org you deserve
12 steps to transform your organization into the agile org you deserve12 steps to transform your organization into the agile org you deserve
12 steps to transform your organization into the agile org you deserve
 
Myrna Story of Leadership and Management
Myrna Story of Leadership and ManagementMyrna Story of Leadership and Management
Myrna Story of Leadership and Management
 
一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理
 
Sethurathnam Ravi: A Legacy in Finance and Leadership
Sethurathnam Ravi: A Legacy in Finance and LeadershipSethurathnam Ravi: A Legacy in Finance and Leadership
Sethurathnam Ravi: A Legacy in Finance and Leadership
 
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
Designing and Sustaining Large-Scale Value-Centered Agile Ecosystems (powered...
 
Strategy for E-Types - Strategy Formulation.pptx
Strategy for E-Types - Strategy Formulation.pptxStrategy for E-Types - Strategy Formulation.pptx
Strategy for E-Types - Strategy Formulation.pptx
 
Employment Practices Regulation and Multinational Corporations
Employment PracticesRegulation and Multinational CorporationsEmployment PracticesRegulation and Multinational Corporations
Employment Practices Regulation and Multinational Corporations
 
Addiction to Winning Across Diverse Populations.pdf
Addiction to Winning Across Diverse Populations.pdfAddiction to Winning Across Diverse Populations.pdf
Addiction to Winning Across Diverse Populations.pdf
 
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
Impact of Effective Performance Appraisal Systems on Employee Motivation and ...
 
Team Building and TUCKMANS MODEL Explained
Team Building and TUCKMANS MODEL ExplainedTeam Building and TUCKMANS MODEL Explained
Team Building and TUCKMANS MODEL Explained
 
Chart--Time Management.pdf How to time is spent
Chart--Time Management.pdf How to time is spentChart--Time Management.pdf How to time is spent
Chart--Time Management.pdf How to time is spent
 

What's your team's API? - Object-Oriented Team Design

  • 1. If your team is an object, what is its API? (Object-Oriented Team Design) Andrew Annett @akannett
  • 2. PLEASE NOTE SLIDES ≠ PRESENTATION • These slides are designed to be viewed in conjunction with a human being talking and interacting with you. • They may not make much sense to you if you were not at the live session.
  • 3. The BIG idea: Let’s talk with teams about organizing work in terms they use every day – object-oriented design
  • 4. Why is this important? …object-oriented design is fundamentally different than traditional structured design approaches: it requires different ways of thinking about decomposition, and it produces software architectures that are largely outside the realm of structured design culture. - Grady Booch, 1991
  • 5. Why is this important? …object-oriented design is fundamentally different than traditional structured design approaches: it requires different ways of thinking about decomposition, and it produces organizational architectures that are largely outside the realm of structured design culture. - Me, 2017
  • 7. An object KNOWS (private) stuff: Methods Variables
  • 8. An object interacts with others via messages; it has behaviour Methods Variables Interface
  • 9. Because it has behaviour, an object can be thought of as an “animated data store” Methods Variables Interface
  • 10. An object's autonomy doesn't extend to choices in shared standards and protocols Methods Variables Interface
  • 11. “You don’t send messages because you have objects, you have objects because you send messages” – Sandi Metz
  • 12. Private Kitchen methods + knowledgeMessagesPublic Restaurant Interface Diner – Kitchen Object Relationship Relationship is the infrastructure for tasks
  • 13. What is an API*? Technically, an API is a set of rules that two sides of an interaction agree to follow. It’s implemented as an INTERFACE * Application Programming Interface
  • 14. The value of an API It decouples an object’s function from its implementation It makes future (internal) change easier Dependency on a private method is a form of technical (and organizational) debt
  • 15. The goal of an API Create public interfaces that allow senders to get (or do) what they want without knowing how your team implements its behaviour
  • 16. POST GET PUT DELETE RESTful* messages types * REpresentational State Transfer
  • 17. Work on this initiative Add this team member Do this thing differently Can you also do this thing? What are you working on? When will you be done? What skillsets are needed? Who is dependent on you? What skillsets does your team have? What risks are you accepting? What are your dependencies? What will be delivered? How is team morale? Stop working on current item(s) Reduce team size POST GET PUT DELETE Typical RESTful messages sent to Teams
  • 18. Work on this initiative Add this team member Do this thing differently Can you also do this thing? What are you working on? When will you be done? What skillsets are needed? Who is dependent on you? What skillsets does your team have? What risks are you accepting? What are your dependencies? What will be delivered? How is team morale? Stop working on current item(s) Reduce team size POST GET PUT DELETE Story map, options board Reteaming, Onboarding Story map, options board Release plan Story map, Skills matrix Release plan Issues board Defect density plot Throughput histogram Dependency graph Cumulative Flow Diagram Happiness Index Dependency graph Skills matrix Useful METHODS to respond to messages
  • 19. Helpful OOD principles S ingle Responsibility…. L iscov Substitution… O pen/Closed (Extension/Modification)… D ependency Inversion… I nterface segregation……………
  • 20. Unhelpful non-OOD principles S ingleton T ight Coupling U ntestable P remature Optimization I ndescriptive naming D uplication
  • 21. If you’re a reader: David A Taylor Business Engineering with Object Technology Dave Grey The Connected Company David West Object Thinking Sandi Metz Practical Object- Oriented Design in Ruby
  • 22. Thanks for your attention! @akannett andrew@leanintuit.com