International Workshop on Software Factories
Royal Palm Salon 6
Monday, 8:30, full day
Jack Greenfield, Microsoft Corporation
Steve Cook, Microsoft Corporation
Krzysztof Czarnecki, University of Waterloo
Jeff Gray, University of Alabama at Birmingham
Michael Stal, Siemens AG
Gabor Karsai, Vanderbilt University
Markus Voelter, Independent Consultant
Don Batory, University of Texas at Austin
Brian Henderson-Sellers, University of Technology at Sydney
Cesar Gonzalez-Perez, University of Technology at Sydney
More than twenty years ago, many organizations sought to increase productivity and predictability in software development using a methodology called Software Factories that relied on structure and discipline. Recently, a different methodology with the same name has been gaining industry wide momentum. In addition to its name, it shares the goals of the previous generation of Software Factories, but it takes an entirely different approach to realizing them.
Instead of structure and discipline, these Software Factories rely on automation, integrating advances in component based and model driven development, software architecture, aspect oriented software development, generative programming, requirements engineering, process engineering, and software product lines. It seeks to increase productivity and predictability, without losing agility, using multi dimensional separations of concern to support systematic reuse in specific system families, to deliver appropriate guidance in context to developers building family members, and to support the enactment and validation of that guidance using tools.
It differs from other model driven methods through its reliance on domain specific languages and software product line practices, and its emphasis on integrating modeling with patterns, frameworks, testing, refactoring, and other agile, code focused development practices. It differs from traditional approaches to product line engineering through its use of models as a basis for automation, and through its emphasis on integrating product line and mainstream development practices.