Software factory
From Wikipedia, the free encyclopedia
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
- Software Factory (Microsoft .NET)
- Software Lifecycle Processes
- Software engineering
- Systems engineering
- Software development process
- Factorette
- Code generation
- Domain-Specific Modeling (DSM)
- Model Driven Engineering (MDE)
[edit] External links
- Harvard Business Review Wipro Technologies: The Factory Model
- Outsourcing Without Offshoring Is Aim of ‘Software Factory’ By P. J. Connolly
- Software Assembly and Manufacturing Methodology ObjectBuilders