Software factory

From Wikipedia, the free encyclopedia

Jump to: navigation, search

In software engineering and enterprise software architecture, a software factory is an organizational structure that specializes in producing computer software applications or software components according to specific, externally-defined end-user requirements through an assembly process. A software factory applies manufacturing techniques and principles to Software Development to mimic the benefits of traditional manufacturing. Software factories are generally involved with outsourced software creation. See also outsourcing.

Since coding requires a software engineer, (or the parallel in traditional manufacturing, a skilled craftsman) it is eliminated from the process at the application layer, the software is created by assembling predefined components instead of using traditional IDE's. See also composite application. Traditional coding, is left only for creating new components or services. Like traditional manufacturing, the engineering is left to the creation of the components and the requirements gathering for the system. A composite application is the end result of manufacturing in a software factory.

[edit] Implementations

  • The first company to adopt this term was Hitachi in 1969 with its Hitachi Software Works. Later, other companies such as System Development Corporation in 1975, NEC, Toshiba and Fujitsu in 1976 and 1977 followed the same organizational approach.
  • Software factory–based application development addresses the problem of traditional application development where applications are developed and delivered without taking advantage of the knowledge gained and the assets produced from developing similar applications. Many approaches, such as training, documentation, and frameworks, are used to address this problem; however, using these approaches to consistently apply the valuable knowledge previously gained during development of multiple applications can be an inefficient and error-prone process.
  • Software factories address this problem by encoding proven practices for developing a specific style of application within a package of integrated guidance that is easy for project teams to adopt. Developing applications using a suitable software factory can provide many benefits,

[edit] See also


[edit] External links

Personal tools