Architecture and Design: Core + Advanced Training Training Course
In this instructor-led live training, participants will acquire both foundational and advanced knowledge of software architecture and design through a series of practical live-lab exercises and interactive discussions.
Audience
- Software professionals
- Software designers
- Developers
Course Format
- A blend of lectures, discussions, exercises, and extensive hands-on practice
Note
- For customized training on this course, please contact us to arrange.
Course Outline
Architecture and Design – Core Training – 3 days
Introduction to Software Architecture and Design principles
Software Architecture Techniques
Security Architecture
Integration Architecture
Architecture Project – Group Assignment
Architecture and Design – Advanced Training – 3 days
Large-Scale Software Design
Design for Serviceability
Role of modeling in architecture
Architecture Quality management
Enterprise Architecture
Cloud Architectures
Big Data Overview
Mobile and Social Networking
Latest trends in Microservices and API
Case Study
Summary and Conclusion
Requirements
- Experience in software development
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
Architecture and Design: Core + Advanced Training Training Course - Enquiry
Testimonials (1)
I liked the exercises that helped to open the mind and gain new insights into software architecture.
Gabriele - EAGLEPROJECTS S.p.A.
Course - Architecture and Design: Core + Advanced Training
Related Courses
Creative Problem Solving with Gamification Techniques (Design Thinking)
14 HoursThis instructor-led, live training in Kenya (online or onsite) targets beginner to intermediate learners who aim to address daily workplace challenges by integrating gamification techniques.
Upon completing this training, participants will be capable of:
- Grasping the core principles of Design Thinking and applying them to problem-solving.
- Utilizing gamification techniques to boost engagement and drive innovation.
- Crafting creative and practical solutions for common workplace issues.
- Working effectively across teams to execute problem-solving strategies.
- Applying iterative methods to refine solutions through experimentation and feedback.
Domain Driven Design: Concepts and Practices
21 HoursThis instructor-led, live training in Kenya (online or onsite) is aimed at intermediate-level developers, architects, and analysts who wish to learn and apply DDD concepts and practices to their software projects.
By the end of this training, participants will be able to:
- Grasp core DDD concepts (bounded contexts, entities, etc.) and their application in software projects.
- Apply strategic DDD to define and design the domain model, identify subdomains, and establish boundaries.
- Implement tactical DDD using patterns such as CQRS, factories, and event sourcing.
- Refactor and modernize legacy systems effectively with DDD techniques.
- Design and implement product, domain, and team-oriented architectures.
- Utilize data mesh to create a domain-oriented data platform supporting data discovery and governance.
Introduction to Domain Driven Design
14 HoursDomain-Driven Design (DDD) is a robust software engineering methodology that emphasizes modelling complex business logic by aligning technical architecture with fundamental business objectives. This programme examines how DDD empowers development teams to tackle complexity and mitigate risks using both strategic and tactical design patterns. Attendees will acquire the skills to establish a "Ubiquitous Language," delineate clear system boundaries via Bounded Contexts, and implement essential architectural components such as Entities, Value Objects, and Aggregates. The ultimate aim is to develop adaptable and maintainable software solutions that stay in harmony with the dynamic business environment.
Domain-Driven Design: Concepts and Practices for Senior Developers
21 HoursDomain-Driven Design (DDD) is a software development approach that focuses on building systems around the core business domain, utilizing a shared ubiquitous language along with strategic and tactical modeling techniques.
This instructor-led live training, available online or onsite, is designed for senior developers at an advanced level who want to leverage DDD principles to create robust, scalable, and maintainable systems.
Upon completing this training, participants will be able to:
- Identify and model essential domain concepts by employing ubiquitous language and bounded contexts.
- Implement tactical DDD patterns, including entities, value objects, aggregates, repositories, and domain services.
- Design context maps and strategic boundaries to effectively manage complexity across teams and microservices.
- Integrate DDD practices into Agile teams and CI/CD workflows to enhance collaboration and delivery efficiency.
Course Format
- Interactive lectures and discussions.
- Numerous exercises and practical applications.
- Hands-on implementation within a live-lab environment.
Customization Options
- To request a customized version of this course, please reach out to us to make the necessary arrangements.
Design Patterns
14 HoursThere is a wealth of proven patterns readily accessible to everyone. Often, the process involves adapting the terminology and implementing these patterns within a specific technology stack. This approach can save hundreds of hours that would otherwise be dedicated to design and testing phases. Training Goals This course has two primary objectives: first, it enables you to leverage widely recognized patterns, and second, it empowers you to create and reuse patterns tailored to your organization. It assists you in estimating how patterns can reduce costs, systematize the design process, and generate a code framework based on your patterns. Audience Software designers, business analysts, project managers, programmers and developers as well as operational managers and software division managers. Course Style The course focuses on use cases and their relationship with a specific pattern. Most of the examples are explained in UML and in simple Java examples (the language can change if the course is booked as a closed course). It guides you through the sources of the patterns as well as showing you how to catalogue and describe patterns which can be reused across your organization.
Design Thinking: Empathize with Internal Clients
7 HoursDesign Thinking is a human-centric approach to problem-solving that relies on empathy, problem definition, ideation, prototyping, and testing. This course module places particular emphasis on the Empathize phase, aiming to link identified pain points with the actual needs of internal clients. It utilizes dynamic, collaborative activities to convert these insights into tangible outcomes.
Delivered as instructor-led live training (available online or onsite), this program targets beginner to intermediate teams and leaders seeking to enhance their empathy capabilities, strengthen relationships with internal stakeholders, and convert pain points into valuable opportunities for improvement.
Upon completion of this training, participants will be able to:
- Utilize empathy-based methods to uncover and confirm client requirements.
- Convert mapped pain points into distinct, actionable needs.
- Participate in interactive role-plays and simulations to practice client-focused dialogue.
- Reframe problem statements collaboratively from the client’s viewpoint.
Course Format
- Interactive lectures and guided discussions.
- Engaging, practical role-plays and empathy-building exercises.
- Group workshops focused on collaborative problem reframing.
Customization Options
- For a version tailored to specific internal processes (such as procurement or equipment provisioning), please contact us to arrange.
Design Thinking: Empathize & Define for Internal Clients
7 HoursDesign Thinking is a human-centered approach to problem-solving that leverages empathy, definition, ideation, prototyping, and testing. By concentrating on the initial two phases—Empathize and Define—teams can gain a deeper understanding of internal clients and accurately identify the problems that require resolution.
This instructor-led live training, available both online and onsite, is designed for beginner to intermediate-level teams and leaders. The goal is to strengthen relationships with internal clients, minimize resistance to change, and enhance operational efficiency through practical, collaborative techniques.
Upon completion of this training, participants will be equipped to:
- Utilize active listening and interviewing skills to collect valuable insights regarding internal clients.
- Develop empathy maps to document user needs and pain points.
- Distinguish actual root causes from perceived issues using tools such as the 5 Whys and problem trees.
- Formulate clear, actionable problem statements (POVs) to direct solution development.
Course Format
- Interactive lectures and discussions.
- Hands-on practical exercises and role-playing activities.
- Group workshops and plenary feedback sessions.
Customization Options
- For a customized version tailored to specific internal processes (such as procurement or equipment provisioning), please contact us to arrange.
Design Thinking Workshop for Software Developers
14 HoursIn this instructor-led, live workshop training in Kenya (online or onsite), participants will learn how to apply the five stages of Design Thinking to better understand the problems experienced by end-users of a product or service, then develop the best approach for resolving them.
By the end of this training, participants will be able to:
- Use creative strategies to match customers' needs with technologically feasible solutions.
- Formulate a strategy to increase customer value and enhance product and service offerings.
Design Thinking: Innovation Methodologies
24 HoursThis instructor-led, live training in Kenya (online or onsite) is aimed at beginner-level to intermediate-level professionals who wish to understand and apply Design Thinking methodologies to drive innovation and improve business solutions.
By the end of this training, participants will be able to:
- Understand the core principles of Design Thinking and its role in innovation.
- Apply the five phases of Design Thinking to problem-solving.
- Utilize ideation techniques and tools to foster creativity.
- Implement Design Thinking strategies to improve processes and enhance efficiency.
Innovative Leadership through Design Thinking
14 HoursThis instructor-led, live training in Kenya (online or onsite) targets beginner-level leaders and HR professionals who want to learn and apply Design Thinking methodologies to encourage innovation, improve problem-solving abilities, and effectively engage teams.
By the end of this training, participants will be able to:
- Gain tools and methodologies to foster innovation and team engagement.
- Develop skills in empathy mapping, ideation, and prototyping for solving complex challenges.
- Apply Design Thinking principles to leadership and HR scenarios.
- Promote a culture of innovation within tech teams.
Design Thinking: Innovation & Creative Problem Solving
4 HoursOverview:
The Design Thinking (DT) framework consists of five distinct phases: empathize, define the problem, ideate, prototype, and test.
In today's increasingly complex landscape, we encounter challenges that require specialized approaches. Design Thinking provides the tools to navigate these complexities effectively. By mastering Design Thinking, you can solve complex problems with greater efficiency, enhance your communication and persuasion skills, drive better business outcomes, and improve both organizational and individual performance.
- How DT functions: Learn from people and the problem, identify patterns, develop a design model (noting model drift), test the model, evaluate results, and re-engineer solutions.
- The interplay between DT, innovation, and entrepreneurship.
- DT methods and tools: personas, stakeholder mapping, customer journey maps, service blueprints, and business model innovation.
- Application of DT: cultivating a design mindset, driving disruptive innovation, adopting an iterative approach, utilizing agile estimation techniques, fostering critical thinking, problem-solving, teamwork, leadership readiness, communication skills, technological fluency, forward-thinking, intercultural and ethical competency, emotional intelligence, self-awareness, negotiation skills, and conflict resolution.
Objectives:
- Comprehend the fundamentals and nuances of Design Thinking (DT).
- Explore key concepts, factors, theories, types, and models within DT.
- Experiment with, experience, and practice DT techniques.
Delivery:
This is a one-day (4-hour) training course structured as follows:
- Lectures (40% - presentation of theories, concepts, models, and interactive discussions).
- Group exercises (30% - exploring group dynamics, games, group discussions, and mock conflict resolution scenarios).
- Individual activities (15% - writing, designing, and peer discussions).
- Other methods (15% - videos and reading materials).
Note: Due to the interactive nature of this course, a minimum group size of 3 participants is required.
Design Patterns (GoF) for Java
21 HoursThis instructor-led, live training in Kenya (online or onsite) is aimed at intermediate-level Java developers who wish to apply design patterns to improve software structure, maintainability, and scalability.
By the end of this training, participants will be able to:
- Understand the purpose and benefits of design patterns.
- Apply Creational, Structural, and Behavioral patterns effectively in Java.
- Improve code reusability, scalability, and maintainability.
- Refactor existing codebases using design patterns.
Design Patterns in PHP
14 HoursThis instructor-led, live training in Kenya (online or on-site) is tailored for intermediate PHP developers who wish to apply design patterns effectively in their projects.
By the end of this training, participants will be able to:
- Grasp the purpose and advantages of using design patterns.
- Recognize and implement suitable design patterns for common scenarios.
- Organize PHP applications in accordance with industry-recognized best practices.
- Integrate patterns into modern frameworks such as Symfony or Zend.
JavaScript - Advanced Programming
14 HoursThis course is tailored for JavaScript developers who design and implement sophisticated internet applications. The curriculum focuses on establishing best practices in JavaScript coding and identifying frequent pitfalls. A key component of the training is exploring object-oriented programming principles within the context of JavaScript syntax.
Kubernetes Design Patterns
21 HoursThe recent advancements in microservices and container technologies have fundamentally transformed the way software is designed, developed, deployed, and operated. Today’s applications must be built to handle scalability, elasticity, failure resilience, and constant change. These evolving demands necessitate a distinct set of architectural patterns and best practices. This training explores methods for recognizing, comprehending, and adapting to these new requirements.
Target Audience
This course is designed for individuals who possess a foundational understanding of container technology and Kubernetes concepts but may lack extensive hands-on experience in real-world scenarios. Drawing on practical use cases and insights from actual projects, the training aims to inspire participants to design and manage superior cloud-native applications.
- Developers
- Operations staff
- DevOps engineers
- QA Engineers
- IT Project Managers
Course Format
- Interactive lectures and discussions
- Extensive exercises and practical sessions
- Hands-on implementation within a live lab environment
Course Customization Options
- For those interested in a tailored training session, please reach out to us to make the necessary arrangements.