an introduction to software factories
DESCRIPTION
An Introduction to Software Factories. Lalit Kale Software Developer e-Zest Solutions Ltd. [email protected] http://lalitkale.wordpress.com. Agenda. Current Software Development Scenario What Are Software Factories Business Value Microsoft Software Factories - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/1.jpg)
An Introduction to An Introduction to Software FactoriesSoftware FactoriesAn Introduction to An Introduction to Software FactoriesSoftware Factories
Lalit KaleSoftware Developere-Zest Solutions Ltd.
[email protected]://lalitkale.wordpress.com
Lalit KaleSoftware Developere-Zest Solutions Ltd.
[email protected]://lalitkale.wordpress.com
![Page 2: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/2.jpg)
AgendaAgendaCurrent Software Development ScenarioCurrent Software Development ScenarioWhat Are Software FactoriesWhat Are Software FactoriesBusiness ValueBusiness ValueMicrosoft Software FactoriesMicrosoft Software FactoriesDemo-Web Client Software FactoryDemo-Web Client Software FactoryQ & AQ & A
![Page 3: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/3.jpg)
Current Software Development Scenario
Current Software Development Scenario
One-off development
Monolithic systems and increasing systems complexity
Working at low levels of abstraction
Process immaturity
Rapidly growing demand for software systems
![Page 4: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/4.jpg)
ConclusionConclusion
“One-off development compounded with immature development processes (inconsistent use of tools, working at low abstraction levels, limited reuse and lack of explicit process structure) lead to cost overruns, delayed deliverables, unimplemented functionality, and even project cancellation.”
![Page 5: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/5.jpg)
IS THERE ANY SMART WAY TO TACKLE THESE PROBLEMS???
IS THERE ANY SMART WAY TO TACKLE THESE PROBLEMS???
![Page 6: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/6.jpg)
What is Software Factory?What is Software Factory?
A software product line that configures extensible tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework-based components
![Page 7: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/7.jpg)
Software Product Line???Software Product Line???
A Software Product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.
![Page 8: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/8.jpg)
How Product Lines FormHow Product Lines Form
Variants of a systeme.g. CRM system
Mine assets from variantsAdapt assets for new variantsCustomize and apply tools, process and content for each variant
System 1
System 2copy/paste
Assets {1,2}
generalize
System 3
Assets {1,2,3}
adapt
customize
System 4
customize
System 5
Assets {1..5}
adapt
customize
![Page 9: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/9.jpg)
Industrializing Software DevelopmentIndustrializing Software Development
Improve productivity and predictability across the software life cycleMake it easy to deliver a wide range of tailored solutions
SoftwareProductLines
ArchitectureFrameworks
ModelDriven
Development
Guidance InContext
![Page 10: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/10.jpg)
Business ValueBusiness ValueBusiness ValueBusiness ValueConsiderable efficiency gain and shortened time to market with each subsequent version of the product because of the reuse of already existing core assets
Improved product quality because core factory assets have already been tested and used in previous products and therefore have matured Flexibility in addressing the changing market demands because of clear application
framework variability and extensibility
![Page 11: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/11.jpg)
Software FactoriesSoftware FactoriesSoftware FactoriesSoftware Factories
Help you build a specific kind of Help you build a specific kind of application (smart client, service, etc)application (smart client, service, etc)
Incorporate a variety of guidance Incorporate a variety of guidance content types and form factorscontent types and form factors
Architecture and design guidance, Architecture and design guidance, patterns, and how-to’s patterns, and how-to’s (readable/printable)(readable/printable)
Reference implementations (executable)Reference implementations (executable)
Application blocks (reusable)Application blocks (reusable)
Guidance packages (actionable)Guidance packages (actionable)
Enable an implicit processEnable an implicit process
![Page 12: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/12.jpg)
Everything looks great!! Everything looks great!!
But Is It Practical??
![Page 13: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/13.jpg)
Look Industry Competitors who are using software factories
Look Industry Competitors who are using software factories
![Page 14: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/14.jpg)
Microsoft Software Microsoft Software FactoriesFactories
Microsoft Software Microsoft Software FactoriesFactories
Mobile Client Software Factory
Smart Client Software FactoryWeb Client Software Factory
Web Service Software Factory
![Page 16: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/16.jpg)
Q & AQ & A
![Page 17: An Introduction to Software Factories](https://reader034.vdocuments.site/reader034/viewer/2022051316/56815d41550346895dcb484f/html5/thumbnails/17.jpg)
Check out @Check out @1. MSDN Architecture Center1. MSDN Architecture Centerhttp://msdn2.microsoft.com/en-http://msdn2.microsoft.com/en-us/teamsystem/aa718951.aspxus/teamsystem/aa718951.aspx
2. Software Factories in perspective to 2. Software Factories in perspective to Global System IntegratorGlobal System Integratorhttp://msdn2.microsoft.com/en-s/http://msdn2.microsoft.com/en-s/arcjournal/bb245775.aspxarcjournal/bb245775.aspx