goto conference€¦ · project team vendor team dev project team dev project team "any...

33

Upload: others

Post on 23-Jul-2020

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back
Page 2: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back
Page 3: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back
Page 4: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Cobbler's Children Syndrome

Page 5: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

The stovepipe enterprise

Stovepipes are “systems procured and developed to solve a specific problem, characterized by a limited focus and functionality, and containing data that cannot be easily shared with other systems.” (DOE 1999)DOE. Committee to Assess the Policies and Practices of the Department of Energy, Improving Project Management in the Department of Energy, National Academy Press, Washington, D.C., 1999, page 133.

Page 6: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Mic drop development

Page 7: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

40 offices in 14 countries

Page 8: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

VendorTeam

Ops Team

DBA Team

Dev ProjectTeam Vendor

Team

Dev ProjectTeam

Dev ProjectTeam

Page 9: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back
Page 10: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

"Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure."[Conway, Melvin E. “How Do Committees Invent?” Datamation April (1968). Print]

Conway’s Law

Page 11: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

“the path taken between two points by a ray of light is the path that can be traversed in the least time”

Fermat's principle of least time

Page 12: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

“the development team chosen to implement a feature is the development team that can implement it in the least time”

Least Time + Conway = Monoliths

Page 13: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

“XP teams are self-organizing and cross-functional.

This has two important consequences: first, they're responsible for their own success. Second, XP teams include all the expertise necessary to do so.”[http://www.jamesshore.com/Agile-Book/the_xp_team.html]

Back to our core Agile principles

Page 14: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

responsible for their own success

include all the expertise necessary to do so

Page 15: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Microservices

was my ‘boss’

Page 16: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Sales

Change management

Stakeholder management

Infrastructure

Support

Vendor management

Staffing

Change management

Stakeholder management

Infrastructure

Support

Vendor management

People

Change management

Stakeholder management

Infrastructure

Support

Vendor management

Inverse Conway Maneuver

Page 17: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Monolith

StaffingPeople Sales

Teams

Leave

Rates

Leave

Rates

Focus on capabilities

Page 18: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Big App

StaffingPeople Sales

Teams

Leave Rates

Refactor

Page 19: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

“Make it up fatigue”

Staffing

API Key Pair

People

Basic auth/SSL

Sales

OAuth 2.0

n+1

Page 20: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

waste

Page 21: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back
Page 22: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Infra is rarely touched

3 to add environment variables

1 to change log format

1 Microservice 4 commits out of 1000

Page 23: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Avoiding horizontal centralisation

Enforcement(policing role)

Consultancy

Partnership

Page 24: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

"Susanna Celeste Castelli, DensityDesign Research Lab".

/dəˈɡɛrəˌtaɪp, -roʊ-, -riə-, -rioʊ-/

Page 25: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

“All teams will henceforth expose their data and

functionality through service interfaces.”

Control over Ownership

Page 26: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Fabric techCloud, Data, Monitoring, Analytics, API management, Build, Source,

Security, Synthetic monitoring

Capability techLambda, Clojure, Angular, iOS

PeopleAPIs, Web, Mobile

StaffingAPIs, Web, Widgets, Chat Bot

Capability techRuby, ElasticBeanStalk, Solr, Hangouts, React

SalesAPIs, Web, Mobile, Reports

Capability techSFDC, node.js, mondrian, neo4j, PhoneGap

Return to Conway

Page 27: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Cross functional + microservices

Fabric Services

Stakeholder management

Delivery (PM, QA, Dev)

Vendor management

Product owner

Specialists

Support

Page 28: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

IoT

Platform of services

Build

Source

Automated security checks

Identity

User analytics

Monitoring

Notifications and escalation

Resilience

Synthetic monitoring

Logging

APIs

Data

DNS/SSL

Infrastructure(servers, storage

etc.)

Social

Security monitoring

Identity

M&A

Infradel

No home

Mobile testing

Authz/Authn

Page 29: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Mature towards services

Genesis Custom build Product Platform / commodity

Patterns Solution specific

Library/ framework Service

Continuous Integration Build server CruiseControl Snap/Jenkins

Fabric Tech

Capability tech

Page 30: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Fabric tech

Capability tech

Capability platform

Fabric tech

Capability platform

vs

Autonomy over Standardization

Page 31: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

http://www.flickr.com/photos/bortescristian/2326692011/

Page 32: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back

Preserve Autonomy by preserving control

(responsible for own success)

Provide specialisms via microservices

(all the expertise necessary)

Remove the Yak!

Page 33: GOTO Conference€¦ · Project Team Vendor Team Dev Project Team Dev Project Team "Any organization that ... chosen to implement a feature is the development team that can ... Back