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

Transformation

 Transformation

A journey from monolithic, on-premise, customized, legacy software to cloud-native, multi-tenant, domain-driven SAAS.

575ca492bac55e895d0e1c86f7d709fe?s=128

Henning Schwentner

February 07, 2022
Tweet

More Decks by Henning Schwentner

Other Decks in Programming

Transcript

  1. Starring Directed By Special Appearance Presented by With

  2. None
  3. THE NAME OF THIS SPEAKER IS HENNING SCHWENTNER LIVE 45

    MIN TALK
  4. @hschwentner

  5. Alphorn Auto Leasing Inc.

  6. None
  7. Springfield Duckburg Metropolis

  8. Monolease A

  9. Springfield Duckburg Metropolis 1.0 1.1 1.0a

  10. Springfield Duckburg Metropolis Twin Peaks 1.1 1.0 1.1 1.0a

  11. => cloud on-premise to

  12. Springfield Duckburg Metropolis Leas- N-dary

  13. Springfield Duckburg Twin Peaks Metropolis Leas- N-dary

  14. Springfield Duckburg Twin Peaks Metropolis Leas- N-dary 2.0

  15. product project to =>

  16. => agile waterfall to

  17. Individuals and interactions over processes and tools Customer collaboration over

    contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto
  18. => micro- services monolith to

  19. old old old old new new new new “just flip

    the lever” 1 2 3 4 5 a.k.a. big bang replacement
  20. old old old old new new new new 1 2

    3 4 5
  21. Strangler Fig Application

  22. None
  23. Lesson: is better than Strangler Fig Application Big Bang Replacement

  24. => micro- services monolith buy to carve out build new

  25. Read on in:

  26. big ball of mud => strategic design to

  27. => tactical design anemic domain model to value object entity

    repository impleme- ntation
  28. Eric Evans Read on in:

  29. Individuals and interactions over processes and tools Customer collaboration over

    contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto
  30. doctor waiter to => What are your orders? What is

    your problem?
  31. business enabling => technology- centered to

  32. What's the most impactful thing we can do next?

  33. Software != End in itself

  34. customer tells wish for 1 salesperson signs to gives for

    contract 3 risk manager contract passes on to 4 contract votes checks calculates 5 6 7 calculates to 8 2 car credit rating installment car resale value contract
  35. https://domainstorytelling.org Read on in:

  36. Lesson: 1. First understand the business 2. Only then build

    software
  37. Lesson: 1. First learn about the problem 2. Only then

    look for a solution
  38. What is Software? technical system socio- +

  39. “Organizations which design systems are constrained to produce designs which

    are copies of the communication structures of these organizations.” Melvin Conway
  40. => micro- services monolith to cross- functional teams

  41. Alignment technical business-wise organizational technical business-wise organizational

  42. Read on in:

  43. Individuals and interactions over processes and tools Customer collaboration over

    contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto
  44. dev user

  45. 🧑💼 👨💻 👨💼 have to understand The single most important

    fact in software development: Tech people business people. 👩💼 👩💻
  46. => direct commu- nication telephone game to user user dev

    dev
  47. finance dev user sales PO HR management marketing scrum master

    UX
  48. Individuals and interactions over processes and tools Customer collaboration over

    contract negotiation Working software over comprehensive documentation Responding to change over following a plan Agile Manifesto
  49. It’s a full team sport Photo: Bart Derksen/Wikipedia

  50. We can do it, too!

  51. None
  52. None
  53. Henning Schwentner @hschwentner hs@wps.de DDD DDD Slides: speakerdeck.com/hschwentner Book: domainstorytelling.org

  54. @hschwentner Bibliography Beck, Kent et al. Manifesto for Agile Software

    Development. 2001. Conway, Melvin E. “How Do Committees Invent?” Datamation 14, no. 5 (April 1968): 28–31. Evans, Eric. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley, 2004. Feathers, Michael C. Working Effectively with Legacy Code. Upper Saddle River, NJ: Prentice Hall, 2004. Foote, Brian and Joseph Yoder. “Big Ball of Mud.” PLoP ’97, Monticello, IL, September 1997. Fowler, Martin. Refactoring: Improving the Design of Existing Code. 2nd ed. Boston: Addison-Wesley, 2019. ⸻. “Strangler Fig Application.” Bliki, June 29, 2004. Hofer, Stefan and Henning Schwentner. Domain Storytelling: a Collaborative, Visual, and Agile Way to Develop Domain-Driven Software. Boston: Addison-Wesley, 2022. Kaur, Ravneet. “Agile Teams—Are They Waiters or Doctors?” LinkedIn. April 1, 2019. Kernighan, Brian W. Software Tools in Pascal. Addison-Wesley, 1981. Newman, Sam. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. Sebastopol, CA: O’Reilly, 2021. Skelton, Matthew and Manuel Pais. Team Topologies: Organizing Business and Technology Teams for Fast Flow. Portland, OR: IT Revolution, 2019. Weinberg, Gerald M. The Secrets of Consulting. New York: Dorset House, 1985.