Courses

SEI courses are created and delivered by recognized experts who have practical experience in the disciplines they teach. Our courses feature participatory tasks and real-world scenarios to enhance your learning.

Featured Courses

SATURN 2016 offers three SEI courses at a discount from current course pricing. Conference attendees can optimize their SATURN experience by attending one of these courses, conveniently adding a full day of professional development. You can register for a course when you register for SATURN 2016.

Monday, May 2, 2016

Managing Technical Debt for Software 

Instructors: Robert Nord and Ipek Ozkaya, Carnegie Mellon Software Engineering Institute 

Technical debt occurs when a design or construction approach is taken that’s expedient in the short term but that increases complexity and cost in the long term. Whether it results from ignorance, accident, or strategy, all software-reliant systems carry some technical debt. If managed well, some technical debt can accelerate design exploration. Left unrecognized and unmanaged, accumulated technical debt results in increased development and sustainment costs. This course is designed for professionals who develop and maintain software-reliant systems to gain a better understanding of

  • how technical debt manifests in software
  • what developers, architects, and managers need to know about technical debt  
  • how to manage technical debt effectively

This one-day course emphasizes the importance of intentional and strategic management of technical debt that is supported by architecture-focused practices.

Monday, May 2, 2016

Designing Modern SOA Systems

Instructor: Paulo Merson, Brazilian Federal Court of Accounts (TCU)

In 15 years, service-oriented architecture (SOA) has gone from a buzzword to an established technology. But new patterns, frameworks, and standards continue to emerge in the SOA space. In this recently developed course, we will focus on design decisions and tradeoffs that SOA architects face today. Topics that will be covered include services that use REST, SOAP, or component technology; SOA solutions that include event-driven messaging, API gateways, and orchestration platforms; and microservices vs. monoliths, security, transaction management, and other design considerations for SOA solutions.

Monday, May 2, 2016

DevOps and Continuous Delivery: Practices, Architecture, and Security 

Instructors: Stephany Bellomo, Carnegie Mellon Software Engineering Institute,  and Rick Kazman, University of Hawaii and Carnegie Mellon Software Engineering Institute

This course is targeted at architects designing software-intensive systems with a goal of adopting DevOps practices to enable continuous delivery of high quality and secure software. If you know nothing about DevOps, don’t fear. The course begins with a brief overview of DevOps and key concepts. If you attended last year, consider coming again since roughly half of the material is new. In addition to examples of designing for deployability from real projects, we have added deep dives and case studies that focus on variability options and the pros and cons of popular DevOps architectural patterns such as microservices, feature toggling, canary testing, and image baking. We also explore more deeply how to integrate static analysis tools into the deployment pipeline to minimize architectural drift and provide tips for how to get the best value from them. Practical takeaways include a template for specifying measurable deployability requirements and a handout with more than 20 architectural tactics successfully used on DevOps projects. To keep things interesting, we also include a facilitated discussion session on the role of the architect and Infrastructure as Code.