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

How to Choose Your Next Technology Stack

How to Choose Your Next Technology Stack


Francesco Strazzullo

April 02, 2020


  1. How to Choose Your Next Technology Stack

  2. Francesco Strazzullo (AKA Strazz) @TheStrazz86 (Follow me on Twitter!) Ego

  3. Why are you here?

  4. Choosing the “Right” Stack

  5. https://www.youtube.com/watch?v=EauykEv_2iA

  6. A stack is “right” for doing what?

  7. What is the goal of software architecture?

  8. Performances, Scalability, Velocity, Maintainability

  9. Non-functional Requirements

  10. “What a software should do?” VS “How a software should

  11. “A non-functional requirement (NFR) is a requirement that specifies criteria

    that can be used to judge the operation of a system, rather than specific behaviors.” Wikipedia
  12. accessibility accountability accuracy adaptability reliability administrability affordability agility auditability responsiveness

    autonomy availability compatibility composability seamlessness configurability correctness credibility customizability simplicity debugability self-sustainability robustness dependability sustainability deployability determinability discoverability distributability usability durability effectiveness efficiency extensibility repeatability fault tolerance fidelity flexibility inspectability reusability reproducibility integrity interoperability learnability securability maintainability manageability mobility modifiability stability modularity operability evolvability performances tailorability portability wow-effect predictability resilience transparency producibility safety recoverability relevance testability
  13. None
  14. Elevator Pitch

  15. For [TARGET CUSTOMER TYPE] who want to [NEED / DESIRE],

  16. SWOT Analysis

  17. None
  18. Trade-off sliders

  19. None
  20. “Any programming problem can be solved by adding a level

    of indirection. Any performance problem can be solved by removing it.” Mario Fusco
  21. Maintainability Performances

  22. Architecture Compass Chart

  23. None
  24. Pros/Cons

  25. Decision-making for Software Development Teams

  26. Anti-Patterns

  27. None
  28. Jeremykemp at English Wikipedia [CC BY-SA]

  29. None
  30. None
  31. None
  32. Making Mindful Decisions

  33. “Programmers know the benefits of everything and the tradeoffs of

    nothing” Rich Hickey
  34. Bring out tradeoffs

  35. Understand the risks https://www.youtube.com/watch?v=FG8AAY8nzQY

  36. None
  37. Decisions Landscape

  38. None
  39. Thanks! Francesco Strazzullo strazz@flowing.it

  40. New Workshop https://www.avanscoperta.it/it/training/decision-making-for-software-development-teams/

  41. Bibliography https://www.amazon.it/Decision-Making-Dummies-Dawna-Jones/dp/111883366X https://www.amazon.it/Business-Model-Generation-Visionaries-Challengers/dp/0470876417 https://www.amazon.it/New-How-Creating-Solutions-Collaborative/dp/0596156251 https://www.amazon.it/Thinkers-Toolkit-Fourteen-Powerful-Techniques/dp/0812928083 https://www.amazon.it/Building-Evolutionary-Architectures-Support-Constant/dp/1491986360 https://www.amazon.it/Impact-Mapping-Software-Products-Projects/dp/0955683645