An Introduction to Software Factories

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Identity Management - Login © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Announcing Demo Announcing.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Windows Azure Web Sites Speaker Title Organization.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
WinHEC /22/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
Windows Azure SQL Data Sync Name Title Microsoft Corporation.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Sr. Dir. – Systems Architecture Inlet Technologies.

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
S4 Solution Specialist Sales Summit
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Baseline: How Are We Doing Now?
Title of Presentation 12/2/2018 3:48 PM
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
28 days.
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
4/27/17, Bell #8 What amount of net pay has been earned this period?
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
From Start to REST in 60 Minutes (DEV323)
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
Using Smart Unit Tests to find bugs earlier in the development cycle
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

An Introduction to Software Factories 9/13/2018 8:49 PM An Introduction to Software Factories Lalit Kale Software Developer e-Zest Solutions Ltd. Lalit.kale@ezest.net http://lalitkale.wordpress.com © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Agenda Current Software Development Scenario What Are Software Factories Business Value Microsoft Software Factories Demo-Web Client Software Factory Q & A

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 One-Off Development “We refer to one-off development when a software system (or software product) is developed independently from other similar systems and does not leverage the knowledge gained and the assets produced for those other systems. One-off development often results in systems that are not designed for reuse, and neither do they make considerable reuse of existing components. There are a several reasons for this: • Developing systems in a relative isolation from other systems and projects does not encourage identifying similarities to other systems. • Even with access to similar systems, it may be difficult to identify matching and reusable assets; sometimes because the information is not available (e.g., an undocumented in-house product) and other times because the selection is overwhelming (e.g., with certain third-party products). If people cannot identify matching reusable assets quickly enough, they usually begin developing them from scratch (ultimately reinventing the wheel). • Assets that only partially match the requirements and were developed without the foresight of reusability may be so difficult to incorporate, that the development team again will rather build their own versions than modify the existing ones.” Monolithic Systems Even though monolithic systems usually consist of many different components, these building blocks are strongly interconnected, no uniform (not adhering to shared standards), and interwoven. This makes it difficult to separate individual blocks from the rest of the system, and therefore renders them pretty much unusable in the context of other systems. Such tight coupling manifests itself in long-reaching dependencies and high system complexity. Working at a Low Level of Abstraction we mean working with general-purpose programming languages that enable us to produce any kind of system, but don’t help hiding details that are irrelevant to the business problems we are trying to solve. Process Immaturity CHAOS Report suggests that with only 20% of projects finished on time and within budget, the applied processes do not result in high predictability of software development projects. Rapidly growing demand for software systems we could see continued increase in demand for software systems at the same time as size and complexity of software systems grows. Today, software is integrated in almost any product we can imagine. This simultaneous and rapid increase in the demand, size, and complexity stands in contrast to the slow improvements in software development technologies and techniques. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Conclusion “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.”

IS THERE ANY SMART WAY TO TACKLE THESE PROBLEMS???

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

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.

How Product Lines Form Variants of a system Mine assets from variants e.g. CRM system Mine assets from variants Adapt assets for new variants Customize and apply tools, process and content for each variant Assets {1,2} generalize System 3 Assets {1,2,3} adapt customize System 1 System 2 copy/paste System 4 customize System 5 Assets {1..5} adapt customize

Industrializing Software Development Improve productivity and predictability across the software life cycle Make it easy to deliver a wide range of tailored solutions

Business Value Considerable 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

9/13/2018 8:49 PM Software Factories Help you build a specific kind of application (smart client, service, etc) Incorporate a variety of guidance content types and form factors Architecture and design guidance, patterns, and how-to’s (readable/printable) Reference implementations (executable) Application blocks (reusable) Guidance packages (actionable) Enable an implicit process

Everything looks great!! But Is It Practical??

Look Industry Competitors who are using software factories

Microsoft Software Factories Smart Client Software Factory Web Client Software Factory Web Service Software Factory Mobile Client Software Factory 14

Demo Web Client Factory

Q & A

Check out @ 1. MSDN Architecture Center 9/13/2018 8:49 PM Check out @ 1. MSDN Architecture Center http://msdn2.microsoft.com/en-us/teamsystem/aa718951.aspx 2. Software Factories in perspective to Global System Integrator http://msdn2.microsoft.com/en-s/arcjournal/bb245775.aspx © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.