Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
"Software Factories does a wonderful job integrating modeling with patterns, frameworks, and agile development. The authors provide a compelling look at how a new generation of tools will make this a reality. A must read for software architects and developers."—John Crupi, Sun Distinguished Engineer, and coauthor, Core J2EE PatternsMany of the challenges currently facing software developers are symptoms of problems with software development practices. Software Factories solves these problems by integrating critical innovations that have been proven over the last ten years but have not yet been brought together.A team of industry experts led by Jack Greenfield explains that a Software Factory is a configuration of languages, patterns, frameworks, and tools that can be used to rapidly and cost-effectively produce an open-ended set of unique variants of a standard product.Their ground-breaking methodology promises to industrialize software development, first by automating software development within individual organizations, and then by connecting these processes across organizational boundaries to form supply chains that distribute cost and risk. Featuring an example introduced in the first chapter and revisited throughout the book, the authors explain such topics as:Chronic problems that object orientation has not been able to overcome, and critical innovations that solve themHow models can become first class software development artifacts, not just documentationHow software product lines can be used to consistently achieve commercially significant levels of reuseHow patterns, frameworks, tools, and other reusable assets can be used to scale up agile development methodsHow orchestration and other adaptive mechanisms can be used to enable development by assembly