Software Factories é uma nova metodologia, desenvolvida na Microsoft, com o objectivo de configurar ambientes para o desenvolvimento rápido de tipos de aplicações específicas (Software Product Lines).
Usando linguagens visuais para composição e configuração de componentes, esta metodologia não é mais do que uma evolução natural dos métodos e praticas actuais. As diferenças estão na utilização de Domain Specific Languages (DSLs) e XML como fonte capaz de capturar os metadados com alta fidelidade, suportar transformações e geração de código bem como outras formas de automação do fabrico de software. Ir para além do modelo como documentação, capturar e "executar" os modelos, gerir a sua evolução ao longo do ciclo de vida, gerir as dependencias de components 3rd-party (supply chain), correções, versões - enfim, a caminho da industrialização.
Este tema tem influenciado toda a nova geração de ferramentas (Visual Studio 2005 Team System) e está agora a atingir o público com um site no MSDN Architecture Center, artigos no JOURNAL3, no TSS.NET, no SDtimes e com a publicação de um livro para breve:
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by Jack Greenfield, Keith Short, Steve Cook, Stuart Kent
Jack Greenfield is an Architect for Enterprise Frameworks and Tools at Microsoft. He was previously Chief Architect, Practitioner Desktop Group, at Rational Software Corporation, and Founder and CTO of InLine Software Corporation. At NeXT, he developed the Enterprise Objects Framework, now called Apple Web Objects. A well known speaker and writer, he also contributed to UML, J2EE and related OMG and JSP specifications. He holds a B.S. in Physics from George Mason University.
Keith Short leads Enterprise Frameworks and Tools Architecture Team at Microsoft. He helped lead design of the Information Engineering Facility from Texas Instruments Inc., now Advantage Gen from Computer Associates Inc. He was later named a TI Fellow and became CTO for Software at TI. He contributed to UML 1.0, and lectures at conferences and seminars world wide. He holds a Bachelors degree in Computer Science from the University of Lancaster, and a Ph.D in Computer Science from the University of East Anglia.
Steve Cook is an Architect for Enterprise Frameworks and Tools at Microsoft. He founded the Object-Oriented Programming and Systems Group of the British Computer Society, and the Object Technology conference series. He was a Research Fellow at Queen Mary and Westfield College, London University. He started the Object Technology Practice at IBM, became a Distinguished Engineer, and was elected to the IBM Academy of Technology. With John Daniels he developed the Syntropy method, and was a major contributor to UML, introducing OCL, and representing IBM on the UML2 submission. He is a British Computer Society Fellow, and has an Honorary Doctor of Science from De Montford University.
Stuart Kent is a Program Manager for Enterprise Frameworks and Tools at Microsoft. He was Senior Lecturer at the University of Kent and a Royal Society Industry Fellow, supported by IBM. He contributed to the UML 2 and MOF 2 standardisation efforts, and has done extensive research, with over 60 refereed publications. He speaks frequently at international events, and participates in numerous programme committees, including the steering committee for the UML conference series, and the editorial board for SoSym journal. He has a PhD in Computer Science from Imperial College, London.