Software Architecture: A Managerial Perspective

Executive Education Course Proposal

 

Proposers: David Garlan and Robert T. Monroe

 

Course Title:  Software Architecture: A Managerial Perspective

Program Overview:

This two-day session will introduce managers and executives to the core concepts of software architecture, processes for injecting good architectural design into development organizations, and techniques for avoiding the common pitfalls of poor architectural management.

 

Who Should Attend:

Executives and managers responsible for the successful conception, development, and maintenance of projects with significant software components.  Prior software development experience is helpful but not required.  Senior Software Engineers and Architects will also benefit from this course, though its focus is on managerial issues.

 

Program Benefits:

Students who complete this course will be able to:

  • Understand and apply core Software Architecture concepts and vocabulary.
  • Deliver better software in a more cost-effective way through principled architectural design
  • Identify and address key architectural issues at each stage of the software/product development lifecycle.
  • Institute and oversee cost-effective software architecture design reviews.
  • Apply Value-Based Architecting techniques to evaluate architectural decisions in the context of economic goals and constraints
  • Understand principles for the design and management of product line architectures

 

Session Topics:

  • Introduction to Software Architecture 
  • The vocabulary of Software Architecture
  • Specifying architectural requirements
  • Mapping architectures to implementations
  • Architectural guidance for popular platforms
  • Value-Based Architecting (technical tradeoff analysis) 
  • Documenting Software Architectures
  • Design reviews
  • Product lines
  • Guidance for further study

 

 

Dates: (TBD)

 

Notes on dates: We would ideally like to offer the course once in the summer and at least once in the fall. In the fall it will be best to schedule it as a Friday-Saturday offer. In the summer, there are fewer constraints. August may be less good than earlier in the summer, given the early starting date of CMU and the fact that many companies use August for vacations.

 

Instructor Biographies:

§         David Garlan is a Professor of Computer Science and Director of Professional Programs in Software Engineering at Carnegie Mellon University.  His research interests include software architecture, self-healing systems, applied formal methods, and software development environments.  Professor Garlan received his Ph.D. from Carnegie Mellon in 1987, and then worked in industry as a software architect, developing product lines for instrumentation software.   He is considered one of the founders of the field of software architecture, and has been instrumental in creating foundations, languages, and tools for software architecture over the past fifteen years. He has written dozens of articles on Software Architecture and has co-authored two influential books: Software Architecture: Perspectives on an Emerging Discipline, (with Mary Shaw) and Documenting Software Architectures: Views and Beyond (which won a Jolt Productivity Award in 2003). He is an Associate Editor for the Journal on Software Systems and Modeling, and a past Editor for the ACM Transactions on Software Engineering and Methodology. He has given numerous short courses on Software Architecture in industry, including Boeing, General Motors, Motorola, the SEI CIO Institute, and Federal Express.

 

 

§         Robert T. Monroe is a Visiting Lecturer, IT and Computer Science at Carnegie Mellon University’s Tepper School of Business. Prior to joining the Tepper faculty, he was the Applications Architect at FreeMarkets. In this role, he was responsible for the overall design and architecture of FreeMarkets’ electronic marketplace products. Dr. Monroe has also designed and developed air-traffic control software at IBM, military simulations (wargames) at OptiMetrics, and decision support systems at Carnegie Group.

Dr. Monroe received his Ph.D. in Computer Science from
Carnegie Mellon University where his research focused on design tools for software architects.

 

 

Color Pictures:

David Garlan

 

Robert T. Monroe