Software architectures present high-level views of systems, enabling developers to abstract away the unnecessary details and focus on the overall big picture. Designing a software architecture is an essential skill in software engineering and adult learners are seeking this skill to further progress in their career. With the technology revolution and advancements in this rapidly changing world, the proportion of adult learners attending courses for continuing education are increasing. Their learning objectives are no longer to obtain good grades but the practical skills to enable them to perform better in their work and advance in their career. Teaching software architecture to upskill these adult learners requires contending with the problem of how to express this level of abstraction practically and also make the learning realistic. We provide here our seven years' history of teaching software architecture of information systems to these adult learners as a part of a public continued education program. We describe our key challenges encountered at these levels and go on to analyze the results of the course design we have taken over the years. We also compare our teaching methods based on problem-based and case-based learning and examine their effectiveness for adult learners. We hope this discussion can help educators design and improve software architecture curriculum and support education researchers in investigating pedagogical approaches and tools to better support adult learners.