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
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