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

The Role of a Solution Architect in a Software ...

The Role of a Solution Architect in a Software Project

Vladimir Ivanov

October 18, 2019
Tweet

More Decks by Vladimir Ivanov

Other Decks in Technology

Transcript

  1. About me • Vladimir Ivanov • Working as a Solution

    Architect • Certified Google Cloud Architect 3/51 EPAM Systems
  2. About me • Vladimir Ivanov • Working as a Solution

    Architect • Certified Google Cloud Architect • Speaker 3/51 EPAM Systems
  3. About me • Vladimir Ivanov • Working as a Solution

    Architect • Certified Google Cloud Architect • Speaker • PC of Mobius 3/51 EPAM Systems
  4. RFI • Answer the questions • Contact the architects of

    related fields • Perform the required research 10/51 EPAM Systems
  5. RFP • Understand the business value • Create a solution

    architecture • Understand which teams are necessary to implement that solution 12/51 EPAM Systems
  6. RFP • Understand the business value • Create a solution

    architecture • Understand which teams are necessary to implement that solution • Come up with the resource plan 12/51 EPAM Systems
  7. RFP • Understand the business value • Create a solution

    architecture • Understand which teams are necessary to implement that solution • Come up with the resource plan • Present a proposal 12/51 EPAM Systems
  8. First steps • Getting to know the organization and key

    people • Getting to know the business and it's goals 16/51 EPAM Systems
  9. First steps • Getting to know the organization and key

    people • Getting to know the business and it's goals • Build trust 16/51 EPAM Systems
  10. Functional requirements! • The system should allow an administrator to

    login • The system should show the list of users 18/51 EPAM Systems
  11. Non-functional requirements • The application should use TLS 1.2 for

    all connections involving user-data 19/51 EPAM Systems
  12. Non-functional requirements • The application should use TLS 1.2 for

    all connections involving user-data • The application should open the page under 0.5 second 19/51 EPAM Systems
  13. Non-functional requirements • The application should use TLS 1.2 for

    all connections involving user-data • The application should open the page under 0.5 second • The application may not be available 1 hour per year 19/51 EPAM Systems
  14. Constraints • The app should be deployed to customers' Azure

    cloud • The app should implement 152 federal law 20/51 EPAM Systems
  15. Constraints • The app should be deployed to customers' Azure

    cloud • The app should implement 152 federal law • The app should be developed with Xamarin technology 20/51 EPAM Systems
  16. Stakeholders are the people who have an interest in the

    project • Customer business representatives 25/51 EPAM Systems
  17. Stakeholders are the people who have an interest in the

    project • Customer business representatives • Delivery organization business representatives 25/51 EPAM Systems
  18. Stakeholders are the people who have an interest in the

    project • Customer business representatives • Delivery organization business representatives • Technical folks from both sides 25/51 EPAM Systems
  19. Stakeholders are the people who have an interest in the

    project • Customer business representatives • Delivery organization business representatives • Technical folks from both sides • End-users 25/51 EPAM Systems
  20. Stakeholders are the people who have an interest in the

    project • Customer business representatives • Delivery organization business representatives • Technical folks from both sides • End-users • Competitors 25/51 EPAM Systems
  21. In order to gather requirements you need to talk to

    stakeholders. The stakeholders identification is one of the main responsibilities of a Solution Architect. 26/51 EPAM Systems
  22. What’s an architecture? The set of structures needed to reason

    about the system, which comprises software elements, relations among them, and properties of both. 2 2 Software Architecture in Practice, 3rd Edition, Bass, Clements, Kazman, Addison-Wesley 28/51 EPAM Systems
  23. What the hell it means? • Architecture is a key

    to the system properties, an end user is concerned about 29/51 EPAM Systems
  24. What the hell it means? • Architecture is a key

    to the system properties, an end user is concerned about • Or product owner thinks so 29/51 EPAM Systems
  25. What the hell it means? • Architecture is a key

    to the system properties, an end user is concerned about • Or product owner thinks so • There are no bad or good architectures; there are ones that fit the target system properties 29/51 EPAM Systems
  26. ASRs Target system properties which affects architecture are unsurprisingly called

    architecturally significant requirements. 30/51 EPAM Systems
  27. How to identify ASR? • From requirements documents • By

    interviewing stakeholders 32/51 EPAM Systems
  28. How to identify ASR? • From requirements documents • By

    interviewing stakeholders • By understanding the business goals 32/51 EPAM Systems
  29. How to identify ASR? • From requirements documents • By

    interviewing stakeholders • By understanding the business goals • Utility tree! 32/51 EPAM Systems
  30. How to document architecture? • Non-formal notations with general purpose

    diagramming • Semi-formal notations with standardized notation 37/51 EPAM Systems
  31. How to document architecture? • Non-formal notations with general purpose

    diagramming • Semi-formal notations with standardized notation • Formal notations with precise semantics 37/51 EPAM Systems
  32. Construction • Bootstrap the development • Define and setup quality

    gates • Create PoCs • Share knowledge 44/51 EPAM Systems
  33. So... The person who identifies stakeholders, gathers ASRs, builds the

    architecture, shares it and bootstraps some of the systems components is usually called Solution Architect. 47/51 EPAM Systems
  34. Links • Books is Software Architecture: https:/ /medium.com/@nvashanin/books-in-software- architecture-6ad974e524ce •

    Amazon Cloud Architect Associate: https:/ /www.udemy.com/aws-certified-solutions-architect- associate/ 50/51 EPAM Systems
  35. Links • Books is Software Architecture: https:/ /medium.com/@nvashanin/books-in-software- architecture-6ad974e524ce •

    Amazon Cloud Architect Associate: https:/ /www.udemy.com/aws-certified-solutions-architect- associate/ • Google Cloud Architect Professional: https:/ /www.coursera.org/specializations/gcp-architecture 50/51 EPAM Systems