Skip to Main Content
Software architecture is a relatively new software engineering discipline that has emerged as a response to the growing complexity of software systems and the problems these systems attempt to solve. Software is becoming the dominant component of most aerospace systems and it is necessary for the aerospace software development community to develop new practices, principles, and standards to manage this growing complexity. The Jet Propulsion Laboratory (JPL) has developed and implemented a year-long educational program designed to develop expertise in software architectures and to train future software architects. Now in its third year, the software architect program (SWAP) selects senior software engineers and then apprentices them as software architects. The objective of this paper is to describe the structure of the SWAP, the program's background, how the program has evolved, and the lessons learned from the implementation of this educational program.