Software factory
From Wikipedia, the free encyclopedia
Although "software factory" is a term that Microsoft is working to associate with their .net product suite, "Software Factories" are in fact much broader in use and application than all the .net articles portray.
A true'software factory' is defined as a software organization structured such that software projects are built in discrete work centers. Work centers generally represent, or specialize in, certain software disciplines such as architecture, design, construction, integration, test, packaging, release, etc. Much like a true manufacturing facility, software factories require clearly defined product creation and management processes. By utilizing the fundamentals of industrial manufacturing -- standardized components, specialized skill sets, parallel processes, and a predictable and scalable consistency of quality – a true Software Factory can achieve a superior level of application assembly even when assembling new or horizontal solutions. Just as industrialization of the automobile manufacturing process led to increased productivity and higher quality at lower costs, industrialization of the software process can provide benefits in terms of economies of scale, geographic distribution, load leveling, and rigorous product and process control. Software factories have gained recent popularity as a cost-efficient way to reduce the time it takes to develop, create and/or construct software solutions.
In order to be effective and efficient a "Software Factory" requires considerable organizational, process and project discipline. These disciplines typically involve: high quality requirements gathering, derivation, management, and packaging; rigorous program management; effective resource management and allocation; proven/reusable components; and excellent project scheduling and control. Effective software factories rely upon the use of well balanced and consistent processes and productivity tools that allow existing components, applications, and systems to be easily consumed, integrated, and orchestrated in the construction of software deliverables. True software factories may function across numerous domains and application disciplines but are most commonly found in the area of IT outsourcing. Domains supported by software factories include software development (new application creation); software product integration; software test; software maintenance; among others.
Since the software factory approach is based on the integration of many organizational and process components, these organizations require well documented and trained processes.
Contents |
[edit] References
- Jack Greenfield, Keith Short, Steve Cook, Stuart Kent, John Crupi, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools, ISBN 0-471-20284-3
- Jack Greenfield, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools (Microsoft, 2004)
[edit] Implementations
NewMarket Technology, Inc. Expands Latin American Software Factory with Clients Oracle and Baan and Moves to Separately List Subsidiary in Transaction with Paragon Financial, Inc.
Welcome to the Machine
Microsoft Patterns & Practices Team is developing four software factories:
- Smart Client Software Factory (formerly known as Smart Client Baseline Architecture Toolkit) (released: 30 June 2006)
- Web Service Software Factory (released: July 2006 and updated December 2006)
- Mobile Client Software Factory (released: July 2006)
- Web Client Software Factory (released: January 2007)
Project Glidepath is a MicroISV-oriented Software Factory, also from Microsoft.
The EFx Factory from Microsoft Services was one of the first pioneering architectural software factories to use a unique combination of model driven development, and integrated runtime environment tools to build Service-Oriented Enterprise Applications and Services.
.NET Database Application Development
[edit] External links
- Software Factories (Microsoft .NET Architecture Center)
- tangible architect - .NET Software Factory with DSL Modeller
- SMART-Microsoft Software Factory by Ordina (.NET 3.0 and DSL based)