קורס מקוון

Software Architecture for Agile Software Developmentבהנחה לחברי האיגוד

מרצה‐ חיים מקבי
 החל מ- 04/09/2023
מקוון ב - ZOOM2 מפגשים

This workshop will be dedicated to the topic of Software Architecture in the context of Agile Development. We will answer the question: “How much Design Up Front should be done in an Agile project?” Hayim will present his approach of Adaptable Design Up Front (ADUF), describing its rationale, applications in practice and comparison to other approaches such as Emergent Design. He will explain why adaptability is essential for the development of complex software systems using Agile methods. The concepts will be illustrated through practical software architecture approaches such as micro-services and examples of real software systems that were developed in the past. 



Agenda:
Section 1: Agile Principles and Methodologies
  • Agile principles and values
  • Overview of Agile methodologies (Scrum, Kanban)
  • Roles and responsibilities in Agile teams
  • Agile ceremonies and artifacts
 Section 2: Adaptable Design Up Front: Designing for Change and Evolution
  • The importance of designing software for change and evolution
  • Principles of loose coupling and high cohesion
  • Modular design and component-based architectures
  • Design patterns for extensibility and maintainability
  • Evolutionary design and emergent architecture
 Section 3: Designing with SOLID Principles
  • Overview of SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion)
  • Applying SOLID principles to improve software design
  • Design smells and anti-patterns to avoid
  • Case studies and examples of SOLID design principles in practice
 Section 4: Architectural Patterns in Agile
  • Applying architectural patterns in Agile projects
  • Service-oriented architecture (SOA)
  • Domain-driven design (DDD)
  • Microservices
Section 5: Software Quality Attributes in Architecture
  • Overview of software quality attributes (e.g., performance, scalability, security, maintainability)
  • Functional vs. Non-Functional software quality attributes
  • Techniques for designing for quality attributes
  • Performance optimization strategies
  • Testing and validation of software architecture
 Section 6: Software Architecture and Machine Learning Deployment
  • Overview of software architecture and its role in machine learning deployment
  • Challenges and considerations in deploying machine learning models into production
  • Importance of architectural design for scalable and robust ML deployments
  • Introduction to common architectural patterns for ML deployment
Hayim Makabee is the CTO of Dooiu, an innovative Social Fintech. Hayim has over 25 years of experience in the Israeli high-tech industry, having held leadership roles as a Software Architect and Machine Learning specialist. In the past, Hayim was the president of the International Association of Software Architects (IASA) in Israel. Hayim holds a M.Sc. in Computer Science from Technion and is the author of a book about Object-Oriented Programming and several scientific publications, including diverse fields such as Software Engineering, Distributed Systems, Genetic Algorithms, Recommender Systems and Behavioral Economics.
 
Software Developers, Software Architects, Software Team Leaders, R&D Managers

הרשמה אונליין

קהל רחבחברי INCOSE_IL
מחיר (לפני מע"מ) ₪800 ₪550