Solution Architecture Fundamentals
Learn how to architect fit-for-purpose software systems/solutions that meet functional & quality requirements and are able to evolve and adapt to changing needs.


Why this course?
-
Software architecture is the backbone of successful digital systems and solutions. This foundation-level course provides a comprehensive introduction to solution architecture. It will teach you how to think like an architect, helping you to advance your career into a software architect or technical lead role.
-
Learn how to design a fit for purpose software architecture that withstand unexpected stressors and adapt to change.
- Help your team deliver high-quality software for your customers, meeting both functional needs and quality requirements.
-
Learn to explore alternative design solutions and compare them in a way that facilitates constructive discussion
-
Gain the confidence to make de-centralised high quality architectural decisions aligned with business and stakeholders' goals.
-
Learn theory & practical techniques, and receive direct feedback from an expert practitioner with 30+ hands-on years experience in the industry.
-
Critically analyse Architecture as a profession, its relevancy in the context of agile development and fast evolving technology landscape, understanding why it fails in some organisations, and how to prevent common pitfalls.
-
On completion of this course, you will be able to tackle more complex topics in the Solution Architecture Mastery and Enterprise Architecture Fundamentals courses.
Learning Outcomes
Upon completion of the course, participants will be able to demonstrates a recognised level of expertise and professionalism in architecting software systems and solutions by:
-
Independently carry out the essential steps in designing software architectures for small and medium-sized systems.
-
Apply methods and principles for design, documentation and evaluation of software architectures, independent of specific development processes.
-
Apply techniques to facilitate and reach collaborative de-centralised software architecture decisions.
-
Evaluate and assess the quality of the software architecture.
-
Document and communicate software architectures, including architectural decisions, interfaces, and cross-cutting concerns.
Content
Equip participants with a foundational understanding of key terms and concepts in software architecture
-
A Brief History of IT Architecture
-
Definitions of Software Architecture, and differences with adjacent disciplines like product development and management
-
Goals and Benefits of Software Architecture
-
Long-term Impact of Software Architecture
-
Role and Responsibilities of Solution, Domain, and Enterprise Architects
-
Architectural Domains (Business, Application, Information, Data, Technical)
-
Relate the Role of the Architects to other Stakeholders
-
Deepens participants' understanding of system context, stakeholder concerns, requirements, and qualities of software architecture
-
Stakeholders and their Key Concerns
-
Dealing with conflicting concerns
-
Clarify and Consider Requirements and Constraints
-
Qualities of a Software System
-
Use concrete scenario template to formulate requirements on qualities
-
Enable participants to take architectural decisions in a way that fits context and fulfils stakeholder requirements
-
Fulfilling Requirements through Architecture
-
Cross-Cutting Concerns
-
Design Software Architectures
-
identify, understand, and manage stakeholders
-
design and appropriately communicate and document software architectures based upon known functional and quality requirements
-
system decomposition and building-block structure
-
fundamentals of modularity, decoupling, cohesion, and dependencies
-
trade-offs between architecture decisions
-
architecture viewpoints and views
-
-
Architecting Process and fundamental approaches of structured architecting, including:
-
top-down and bottom-up
-
agile & iterative architecting
-
view-based architecture development
-
domain-driven design
-
evolutionary
-
decision-centric
-
architecting with AI
-
-
General and solution-specific Architecture & Design Principles
-
Interfaces
-
Architectural Heuristics
-
Overview of Architectural Styles, e.g., monolithic, distributed, pipes & filters, layered
-
Overview of Architectural & Design Patterns, e.g., Broker, CQRS, Strangler's Fig
-
Deployment of Architectural & Design Tactics
-
-
Current Architectural Topics & Approaches. e.g., Cloud, Platforms, Microservices, DevOps
-
Enable participants to document and communicate software architectures in a way that meets the needs of important stakeholders and supports the development process
-
Requirements of Technical Documentation
-
Communicate Software Architectures
-
Notations & Models to Describe Software Architecture
-
Diagrams as Code
-
Architecture as Code
-
-
Documenting Architectural Decisions
-
Tools & Templates for Documentation Software Architecture
-
Equip software architects with the skills and knowledge needed to ensure solution architectures address functional and quality needs, and are aligned to the broader enterprise architecture
-
Motivation and Goals for Architecture Analysis, Alignment, and Evaluation
-
Objectives & practices for architecture governance, risk management and compliance
-
Overlaps and potential conflicts with Enterprise Architecture
-
Implementing and upholding governance and quality assurance
-
Evaluate Alignment to Enterprise Goals & Principles
-
Evaluate Conformance to Architectural Decisions
-
-

Summary of Topics Covered and Key Takeaways
Hands-on Learning with real-world examples and case study:
Throughout the course, the content is supported and complemented by real-world examples, engaging & interactive discussions and hands-on activities based on a case study. The course blends theory with practical scenarios to help participants apply foundational architectural thinking in real-world contexts.
Target Audience
-
This course is primarily aimed at people who actively develop software, involved-in or transitioning-into an architecture role.
-
Software Engineers
-
Software Architects
-
Lead Developers and Engineering managers
-
-
This course can be useful for anyone working in software development:
-
Product owners
- Project Managers
-
Business Analysts
-
Requirements Engineers
-
QA Specialists
-
Prerequisites
There are no formal prerequisites, although basic knowledge of software engineering would be beneficial:
-
Some experience with software development, gained through team-based development of several systems outside of formal education
-
Knowledge of and practical experience with at least one higher programming language
-
Basic knowledge of approaches to testing of software (e.g. unit- and acceptance testing)
Format and Duration
-
This course is typically offered as a 4-day remote or classroom based workshop.
-
The course is also available as a residential workshop, inclusive of accommodation and half board, in UK and Italian locations. This will give participants the opportunity to visit places of historical and cultural interest, as well as outstanding natural beauty.
-
For private delivery, the duration can be adjusted to 3 or 5 days depending on the level of experience of participants.
Price and Schedule
-
Free taster sessions for prospective delegates are scheduled regularly
-
The context can be tailored to your requirements.
-
Price reductions are available for self-funding individuals and non-profit organisations.
-
Taster session are free.
-
For pricing & schedule details, please enquire below
