Software Factory


Get Started. It's Free
or sign up with your email address
Software Factory by Mind Map: Software Factory

1. History of Software Factories

1.1. Michael A. Cusumano (M.I.T): major historian of software factories

1.2. Steve Cook & Stuart Kent (Microsoft): proposed the software factory method

1.3. Late 1960's: the term 'factory' was coined in the field of software engineering

1.4. Hitachi Corporation: first company in the world that adopted the term 'factory' to label software facility

2. Definitions:

2.1. Microsoft Patterns & Practices Team: structured collection of related software assets

2.2. Jack Greenfield & Keith Short:software product line which configures extensible development environment, processes and contents using SF templates based on SF schemas for automating development & maintenance of archetypal products

2.3. Software Development Tool:

2.3.1. focused tool with specific instructions aimed for solving small & specific business problems

2.3.2. Users: architects business analysts developers project managers testers designers

3. Components:

3.1. Models & Design Patterns

3.2. Domain Specific Languages (DSL)

3.3. Software Product Line

4. Software Factories vs. Mass Customization

4.1. Types of Mass Customization:

4.1.1. Adjustable

4.1.2. Dimensional

4.1.3. Modular

5. How Software Factories Works:

5.1. 30% of each application is built during AD period

5.2. 70% are ready to built components

5.3. results to a complete or partial output

5.4. outputs multiple product instances

6. Future of Software Factories

6.1. "Acropolis"

7. 3 Key Ideas:

7.1. software factory schema (recipes)

7.1.1. projects

7.1.2. source codes

7.1.3. SQL files

7.1.4. configuration files

7.2. software factory templates (ingredients)

7.2.1. templates

7.2.2. frameworks

7.2.3. style sheets

7.2.4. patterns

7.3. extensible development environment (kitchen):

7.3.1. integrated development environment (IDE)

8. Software Factory Examples

8.1. mobile client

8.2. smart client

8.3. web client

9. Advantages:

9.1. delivers exactly what the customers are in need of

9.2. competitive position for the manufacturer

9.3. customer convenience

9.4. earn the loyalty of the customers

9.5. cost reduction

10. Disadvantages:

10.1. tedious procurement process

10.2. priced higher as compared to the standard ones

10.3. takes longer time to be delivered to the customer

10.4. requires training of manpower

10.5. expensive IT investment

10.6. probable risks of failure due to poor IT architecture