System Design Fundamentals: Righting Software
Published by Pearson
Learn the right way to design software systems and transform your career
- What you are doing wrong now and why
- The correct and only way to design anything
- The architect's challenge
- Design techniques to ease the challenge
- Design Don'ts
This densely packed course promises to change the way you think about software architecture and design. Master software architect Juval Lowy argues that the majority of software systems are designed in literally the worst possible way. Juval starts by challenging common design practices like functional decomposition and domain decomposition before presenting his proven approach to system analysis and design that focuses on volatility to decompose a system into its comprising services.
Juval highlights universal design principles using examples from software and non-software systems alike. This course will also teach you how to overcome the real hurdles architects face pursuing volatility-based decomposing, as well as simple and practical techniques for identifying areas of volatility, and a structured approach for defining the components of the architecture.
What is this training about, and why is it important?
The training will show how to correctly define the architecture of software systems. With the wrong architecture (which is the norm) the system will be very complex to build, horrendously expensive compared with what it should cost, rife with defects, unable to meet the ever changing requirements, take forever to complete, and will cost so much during maintenance that it will force its owners to abandon it in favor of a new, often even messier solution. In its wake the system will leave broken commitments, demoralized teams, and frustrated customers. You avoid this pain when you design the system properly, and yet the majority of architects simply do not know how to do their job. This session will show participants how righting software can also point them in the right direction to fix not just their system but also their careers.
What you’ll learn and how you can apply it
- what not to do. e.g., functional decomposition or domain decomposition
- how to correctly design software systems using volatility-based decomposition
- simple analytical design methodology tools that will change the way you design systems
- how to mechanize software design
- understand the role of structure and validation
This live event is for you because...
Any software architect will benefit greatly from this session. The method and principles presented apply regardless of your project and company size, technology, platform, or industry. For developers transitioning to the role of architect this course addresses the critical challenges of software development today by righting software systems as well as careers. Project managers will also see what they need to look for in architects.
Prerequisites
- An open mind. This session goes against everything you have seen or practiced. Past pain is a plus but is not required.
Recommended Preparation
- Read: Righting Software: A Method for System and Project Design by Juval Lowy
Recommended Follow-up
- Read: Righting Software by Juval Lowy
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Avoid Functional Decomposition (60 minutes)
- Perils of functional decomposition
- Design and value
- Demonstrating futility
- Anti-design example
10 minutes break, Q&A
Segment 2: Volatility-Based Decomposition (90 minutes)
- Universal principle
- The volatility challenge
- Solutions as requirements
- Design example
- Resisting bad habits
- Decomposition and the business
10 minutes break, Q&A
Segment 3: Structure (90 minutes)
- Design and layers
- Client volatility
- Business logic volatility
- Resource access volatility
- Utilities
- Open and closed architecture
- Architecture validation
- Containing changes
10 minutes break, Q&A
Course wrap-up and next steps (10 minutes)
Your Instructor
Juval Lowy
Juval Löwy is the founder of IDesign and a master software architect specializing in system and project design. He has helped countless companies deliver quality software on schedule and on budget. Juval participated in the Microsoft internal strategic design reviews and is a frequent speaker at the major international software development conferences. Juval published several bestsellers, and his recent book is Righting Software (Addison-Wesley, 2019). Juval published numerous articles, regarding almost every aspect of modern software development and architecture. Juval conducts Master Classes around the world, teaching thousands of professionals the skills required of modern software architects. Microsoft recognized Juval as a Software Legend as one of the world’s top experts and industry leaders.