Jump to content

Software factory

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 134.169.13.19 (talk) at 17:26, 17 May 2006 (See also: Removed links: PIM, PSM, ATL, QVT, MTL, CoSMIC (potentially to be replaced by MIC, since CoSMIC is just it's latest incarnation), Metamodeling and Metamodel -- too unspecific). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A software factory is defined as a facility that assembles (not codes) software applications to conform to a Specification following a strict Methodology. 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 development process is leading to the same advantages. Software factories have gained recent popularity as a cost-efficient way to reduce the time it takes to develop software. Conceptually, software factories represent a methodology that seeks to incorporate pre-built, standard functionalities into software which is typically disaggregated by domain.

The "Software Factory" uses a Software Manufacturing process and a set of productivity tools which enable this process.

Software Manufacturing is a process for the code-less assembly of any horizontal Business Software Application from 100% proven/reusable components, exactly to specification for an end user, that are delivered in a consistent and predictable timeframe. The Software Manufacturing process is only achieved through the use of a set of productivity tools that allow existing components, applications, and systems to be easily consumed, integrated and orchestrated into the end product without the use of code. If there is ANY code in the application layer, you are NOT assembling and therefore are NOT manufacturing.

Productivity tools are tools that enable code-less assembly of software. Examples of such tools include Microsoft's Access, FileNet's Process Designer, Crystal Reports, and ObjectBuilders' LiveIntegrator and LiveModeler

References

Implementations

Microsoft Patterns & Practices Team is developing four software factories:

See also