Upgrade to Pro — share decks privately, control downloads, hide ads and more …

It's a small world after all. Full edition Fall 2019

It's a small world after all. Full edition Fall 2019

The world is changing fast. More precisely, the world is changing at increasing speed.

This means things that were not possible five years ago come into reach. Incumbent organizations need to adapt fast to keep up with new competitors that use new technologies easier, faster and better than they do. As a result, every aspect of software changes towards smaller. Even smaller teams or even micro-teams, less management, flatter organizations, even shorter cycles, and smaller components.

During this energizing and high-paced talk Sander discusses the Cynefin model, shows why software development goes so terribly wrong, how to move beyond Scrum and enterprise agile, why autonomy and self-organization are not as easy as it looks like, why traditional agile doesn't solve all modern-day issues, why continuous delivery leads to not doing projects or estimates anymore and why microservices are hard but essential as underlying foundation.

Sander Hoogendoorn

October 31, 2019
Tweet

More Decks by Sander Hoogendoorn

Other Decks in Technology

Transcript

  1. THE TIMES THEY ARE A-CHANGIN' MUCH FASTER THAN YOU THINK

    @aahoogendoorn | Creetion | It's a small world after all
  2. MOORE’S LAW The number of transistors in a dense integrated

    circuit doubles approximately every two years.
  3. 1981 THE IBM PC 5150 THE SIMPLEST CONFIGURATION HAS 16K

    ON-BOARD RAM AND USES AN AUDIO CASSETTE TO LOAD AND SAVE DATA. A FLOPPY DRIVE IS OPTIONAL. A HARD DRIVE WAS NOT SUPPORTED. A SYSTEM FOR HOME OR SCHOOL WITH A MEMORY OF 64K BYTES, A SINGLE DISKETTE DRIVE AND ITS OWN DISPLAY, WAS PRICED AROUND $3,000. @aahoogendoorn | Creetion | It's a small world after all
  4. 2006 AMAZON EC2 AMAZON LAUNCHED ITS ELASTIC COMPUTE CLOUD (EC2)

    AS A COMMERCIAL WEB SERVICE THAT ALLOWS SMALL COMPANIES AND INDIVIDUALS TO RENT COMPUTERS ON WHICH TO RUN THEIR OWN COMPUTER APPLICATIONS. @aahoogendoorn | Creetion | It's a small world after all
  5. HOW LONG DID IT TAKE TO REACH 50 MILLION USERS?

    @aahoogendoorn | Creetion | It's a small world after all
  6. @aahoogendoorn | Creetion | It's a small world after all

    FINTECH CHALLENGES Apple announces Apple Card credit card
  7. WE LIVE IN A WORLD WHERE ANYONE CAN ENTER ANY

    MARKET, FROM ANYWHERE AT ANY TIME @aahoogendoorn | Creetion | It's a small world after all
  8. @aahoogendoorn | Creetion | It's a small world after all

    DEPENDENCIES WILL KILL YOU EVERY TIME
  9. LEGACY. WELL, WHO HASN’T GOT IT? CHALLENGE 2 @aahoogendoorn |

    Creetion | It's a small world after all
  10. SANDER HOOGENDOORN Independent dad, speaker, author, traveler Freelance CTO, coach,

    architect, programmer CURRENTLY Chief Architect Quby BEFORE CTO ANVA, CTO Klaverblad Verzekeringen Global agile thought leader Capgemini sanderhoogendoorn.com aahoogendoorn aahoogendoorn [email protected] @aahoogendoorn | Creetion | It's a small world after all
  11. WELCOME TO THE WORLD OF SMALL MOVEABLE PARTS @aahoogendoorn |

    Creetion | It's a small world after all
  12. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  13. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  14. “We are operating in a new and fast moving market.

    Nobody has invented a profitable business model for this market yet.” Arnoud Snijder Quby WHERE ARE WE? @aahoogendoorn | Creetion | It's a small world after all
  15. “In a chaotic context, searching for right answers would be

    pointless: the relationships between cause and effect are impossible to determine because they shift constantly and no manageable patterns exist — only turbulence. This is the realm of unknowables.” Dave Snowden CHAOTIC CONTEXTS @aahoogendoorn | Creetion | It's a small world after all “The chaotic domain is nearly always the best place for leaders to impel innovation.”
  16. MONOLITHICAL SPEED OF CHANGE Q1 Q2 Q3 @aahoogendoorn | Creetion

    | It's a small world after all Monolith 1.0 Monolith 2.0 Monolith 3.0
  17. THE SPEED OF CHANGE WITH SMALL SERVICES Account 1.0 Product

    1.0 Create Order 1.0 Manage Docs 1.0 Account 20 Account 3.0 Account 4.0 Product 2.0 Product 3.0 Product 4.0 Product 5.0 Product 6..0 Create Order 2.0 Create Order 3.0 Manage Docs 2.0 Manage Docs 3.0 Q1 Q2 Q3 @aahoogendoorn | Creetion | It's a small world after all
  18. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  19. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  20. YOU CAN’T JUST STEP ON A BOARD AND HIT THE

    GROUND RUNNING @aahoogendoorn | Creetion | It's a small world after all
  21. ALPINE SKIING REQUIRES KNOWLEDGE AND EXPERIENCE AND SO DOES SOFTWARE

    DEVELOPMENT @aahoogendoorn | Creetion | It's a small world after all
  22. To satisfy the customer through early and continuous delivery of

    valuable software @aahoogendoorn | Creetion | It's a small world after all THE AGILE MANIFESTO
  23. To satisfy the customer through early and continuous delivery of

    valuable software THE AGILE MANIFESTO @aahoogendoorn | Creetion | It's a small world after all
  24. @aahoogendoorn | Creetion | It's a small world after all

    Manual tests Scenario tests Integration tests Unit tests Manual tests Scenario tests API test Unit tests
  25. It talks to the database It communicates across the network

    It touches the file system It can’t run at the same time as any of your other tests You have to do special things to your environment (such as editing config files) to run it. Michael Feathers A TEST IS NOT A UNIT TEST IF @aahoogendoorn | Creetion | It's a small world after all
  26. MINIMIZE MANUAL TESTING. IT SLOWS YOU DOWN Exploratory Testing, anyone?

    @aahoogendoorn | Creetion | It's a small world after all
  27. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  28. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  29. WHY 9-TO-5 FAILS 9-to-5 is a paradigm that prioritizes work

    over life One-size-fits-all doesn’t exist in current day society Excludes people who can’t commute Different people, different habits. Parenting is unpredictable ☺
  30. Sprint planning Refinements Daily stand-ups Management meetings OKR meetings Demo’s

    Retrospectives TOO MANY MEETINGS AND RITUALS Skype calls Guild meetings Backlog grooming T-shirt sizing Planning poker Sprint reviews Open floor plans @aahoogendoorn | Creetion | It's a small world after all
  31. OPEN FLOOR PLANS OR HOW WE BECAME OUR COMPANY’S BROCHURE

    @aahoogendoorn | Creetion | It's a small world after all
  32. AUTONOMY AT WORK DECIDE WHAT TO DO, WHEN TO DO

    IT AND HOW TO DO IT @aahoogendoorn | Creetion | It's a small world after all
  33. To satisfy the customer through early and continuous delivery of

    valuable software @aahoogendoorn | Creetion | It's a small world after all THE AGILE MANIFESTO
  34. The programmer has to be able to think in terms

    of conceptual hierarchies that are much deeper than a single mind ever needed to face before. Edsger Dijkstra CONCEPTUAL HIERARCHIES @aahoogendoorn | Creetion | It's a small world after all
  35. SOFTWARE DEVELOPMENT IS COMPLEX Architect Domain expert UX Front-end Back-end

    Mobile QA Ops AWS @aahoogendoorn | Creetion | It's a small world after all
  36. THE CURRENT STACK Tools Enterprise Architect, IntelliJ, WebStorm, CLion, Visual

    Studio Code, LucidChart, Tableau, Zeplin PowerBi, QtCreator, Crowdin, PostMan, Jira, Confluence, Office365, TestFairy Languages JavaScript Java, C, C++, HTML, CSS, Scala, UML, SQL, Python, JSON, XML, Bash, Groovy, Lua, PHP, BoxTalk Frameworks Qt, Spring, Spring Boot, Spring Cloud Contract, Spring fox Swagger, Pact JVM, Resilience4j Liquibase, Slf4j, cypress.io, React, Backbone.js, Knockout, Mockito, Cucumber, Behave, Gurkin, node.js Lombok, JUnit, Debezium, dockerize, Serverless, CPPUtest, CUtest, Babel, Apache Spark, Hive Hibernate, QMF, Akka (Toolkit), Gatling, Apache CXF, TestNG, RestAssured Infra GitLab, Mesos Marathon, Consul, Jenkins, Sysdig, Apigee, count.ly, Docker, Terraform, Artifactory, Logstash Zookeeper, Coreos, ActiveMQ, Drupal, PagerDuty, Swagger, HTTP/s, MQTT, OpenVPN, Apache Tomcat Undertow, Jetty, AWS EC2, Beanstalk, S3, Lambda, CloudWatch, CloudTrail, SQS, SNS, Step Functions API Gateway, VPC, CloudFormation, IoT, ELB, GuardDuty, IAM, KMS, S3 Glacier, Elasticache Other Selenium, Kibana, ElasticSearch, MySQL, Redis, DataBricks, iWelcome, WSO2, OKTA, Cordova, Kentico Slack, Runscope, Liferay, Google Authenticator, Git, SonarQube, JWT, Google Repo, npm, Maven, Make Cmake, SBT, SOAP, Roadmunk, Illustrator, Runners, PhoneGap, ESLint, Z-Wave, Zigbee, WSL @aahoogendoorn | Creetion | It's a small world after all
  37. THE (AGILE) FRAMEWORK DOESN’T DO THE WORK. IT’S YOU MODERN

    ISSUE @aahoogendoorn | Creetion | It's a small world after all
  38. “WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE, BY DOING

    IT AND HELPING OTHERS DO IT” AGILE MANIFESTO, 2001 @aahoogendoorn | Creetion | It's a small world after all
  39. “WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE, BY DOING

    IT AND HELPING OTHERS DO IT” AGILE MANIFESTO, 2001 @aahoogendoorn | Creetion | It's a small world after all
  40. ROLES IN DISCIPLINED AGILE 2.0 (OUTSIDE OF THE TEAM) Chief

    architecture owner Chief product owner Community of practice lead Database administrator Enterprise architect Functional manager Human resource manager Governor Operations engineers Process engineers Release engineers Reuse engineers Operations manager Process manager Release manager Portfolio manager Product manager Support manager Support engineers @aahoogendoorn | Creetion | It's a small world after all
  41. Where’s the customer? DOES SCALING AGILE REQUIRE AN ENTERPRISE PROCESS?

    @aahoogendoorn | Creetion | It's a small world after all
  42. LET’S ALL COPY SPOTIFY! You are not Spotify! (unless you

    actually are Spotify) @aahoogendoorn | Creetion | It's a small world after all
  43. ALWAYS THINK FOR YOURSELF! NEVER JUST COPY SOMEONE ELSE’S MODEL

    @aahoogendoorn | Creetion | It's a small world after all
  44. OPTIMIZE FOR SPEED, AGILITY AND ADAPTABILITY THE INNOVATION BOARD AND

    THE FUNNEL @aahoogendoorn | Creetion | It's a small world after all Continue
  45. THE DOT AT THE HORIZON “WE AIM TO BECOME THE

    MOST SOUGHT-AFTER CONSULTANCY IN EUROPE” @aahoogendoorn | Creetion | It's a small world after all
  46. MINIMAL VIABLE PRODUCTS Build products feature by feature Think small

    Deploy early and frequently Learn continuously
  47. PORTFOLIO BOARD Waste Energy Water Is it actionable? Is it

    too big? Does it help us reach our goal? Do we need this now? Someyday maybe? @aahoogendoorn | Creetion | It's a small world after all
  48. A COLLECTIVE Water Secu rity Infr a Market research Architect

    UX Front-end Mobile QA Ops AWS Expe rt Dev @aahoogendoorn | Creetion | It's a small world after all
  49. NO TWO WORK ITEMS REQUIRE THE SAME SKILLSET Architect Domain

    expert Back-end QA Architect Front-end @aahoogendoorn | Creetion | It's a small world after all
  50. MICROTEAM RECIPE 1. Pick 2. Form 3. Discuss 4. Work

    5. Report as done 6. Disband 7. Repeat
  51. WHY MICROTEAMS? Leadership is contextual Better communication Broaden your skills

    fast Sprints become less relevant Fewer estimates Refinements become easy Work where you want Work when you want Daily progress
  52. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  53. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  54. ENTER MICROSERVICES ARCHITECTURE THE WORLD OF EVEN SMALLER COMPONENTS THAT

    DO ONE THING ONLY @aahoogendoorn | Creetion | It's a small world after all
  55. MONOLITHS HARD TO DELIVER HARDER TO TEST IMPOSSIBLE TO MAINTAIN

    @aahoogendoorn | Creetion | It's a small world after all
  56. In short, the microservice architectural style is an approach to

    developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Martin Fowler MICROSERVICES ARCHITECTURE @aahoogendoorn | Creetion | It's a small world after all
  57. In short, the microservice architectural style is an approach to

    developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Martin Fowler MICROSERVICES ARCHITECTURE @aahoogendoorn | Creetion | It's a small world after all
  58. WHO DOESN’T HAVE A SYSTEM THAT IS TOO BIG AND

    THAT SHOULD BE BROKEN UP? @aahoogendoorn | Creetion | It's a small world after all
  59. For the things we have to learn before we can

    do them, we learn by doing them Aristotle ON LEARNING @aahoogendoorn | Creetion | It's a small world after all
  60. WHAT DID WE LEARN SO FAR? Define goals and purpose

    Take baby steps Define your roadmap Set up you guiding principles Model your landscape Apply evolutionary architectures Define your patterns Build apps as microservices Design for single responsibility Split in bounded contexts and aggregates Foster immutability Let services own their data Standardize your API design Avoid point-to-point contracts Interface defensively Architecture follows communication channels and vice versa Test from day one Secure by design Deploy independently and continuously Become cloud native Don’t innovate commodities Choose a cloud for simplicity and ease-of-use
  61. FIONA CORE VALUES TRAVEL LIGHT We travel as light as

    possible. We only solve one small problem at a time. START CLEAN We isolate Fiona from our other stacks. We realize a clean new stack. DECIDE LATE Requirements and technology changes fast. Decisions are made as late as possible. KEEP IT SIMPLE Decisions favor simplicity and ease of use. What problem do we solve now?
  62. ORGANIZE FOR CHANGE MICROSERVICES ARE NO WALK IN THE PARK

    @aahoogendoorn | Creetion | It's a small world after all
  63. Organizations which design systems are constrained to produce designs which

    are copies of the communication structures of these organizations. Melvin Conway CONWAY’S LAW @aahoogendoorn | Creetion | It's a small world after all
  64. Any change to communication patterns of groups and individuals will

    influence the shape of their solutions. Thus the design of a system will influence the de facto workings of an organization. Melvin Conway REVERSE CONWAY @aahoogendoorn | Creetion | It's a small world after all
  65. Evolve your team and organizational structure to promote your desired

    architecture. Ideally your technology architecture will display isomorphism with your business architecture. Melvin Conway INVERSE CONWAY MANEUVER @aahoogendoorn | Creetion | It's a small world after all
  66. It is not the strongest of the architectures that survives,

    nor the most complex that survives. It is the one that is most adaptable to change. Charles Darwin EVOLUTIONARY ARCHITECTURE @aahoogendoorn | Creetion | It's a small world after all
  67. WRITE PROGRAMS THAT DO ONE THING AND DO IT WELL

    (FROM THE UNIX PHILOSOPHY) @aahoogendoorn | Creetion | It's a small world after all
  68. DOMAIN DRIVEN DESIGN TACKLING COMPLEXITY IN THE HEART OF SOFTWARE

    MICROSERVICES @aahoogendoorn | Creetion | It's a small world after all
  69. WHAT WE LEARNED LET SERVICES OWN THEIR OWN DATA @aahoogendoorn

    | Creetion | It's a small world after all
  70. DON’T INNOVATE ON COMMODITIES YOU CAN ONLY SPEND YOUR TIME

    ONCE @aahoogendoorn | Creetion | It's a small world after all
  71. IN EVEN SHORTER CYCLES CONTINUOUS FLOW BUILD SMALL SERVICES FEATURES

    OVER PROJECTS WITH EVEN SMALLER TEAMS SELF-ORGANIZING AND AUTONOMOUS IN EVEN SMALLER COMPONENTS MICROSERVICES AND SERVERLESS @aahoogendoorn | Creetion | It's a small world after all
  72. ALWAYS THINK FOR YOURSELF! NEVER JUST COPY SOMEONE ELSE’S MODEL

    @aahoogendoorn | Creetion | It's a small world after all
  73. TAKE BABY STEPS ORGANIZE FOR CHANGE IF YOU GET STUCK,

    YOU’RE THINKING TOO BIG @aahoogendoorn | Creetion | It's a small world after all
  74. IT ONLY TAKES ONE PERSON TO START A CHANGE: YOU

    @aahoogendoorn | Creetion | It's a small world after all
  75. IF ALL ELSE FAILS, TRY RM –RF NODE_MODULES && NPM

    INSTALL @aahoogendoorn | Creetion | It's a small world after all