Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture

Similar presentations


Presentation on theme: "EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture"— Presentation transcript:

1 EMEA Beat Schwegler Architect Microsoft EMEA HQ http://blogs.msdn.com/beatsch/ Ingo Rammer Principal Consultant thinktecture http://www.thinktecture.com/ Software Factories - Today and Tomorrow

2 1st February, Praha 09.00 - 09.30Software Factories Vision 09.30 - 10.30Software Factories Today 11.00 - 12.15A Software Factory to Build Factories 13.00 - 14.15 Using a Software Factory 14.30 - 15.45Defining and Building a Software Factory 15.45 - 16.15Q&A session

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19 Marx had a vision of the pianist as a performer who produced something that couldn't be commoditized. John Markoff Then along came the recording, a commoditization of the pianist's art.

20 Bad Stuff Happens We need to capture the “method” in the madness of software development

21 Typical Development Issues Solution Structure Designer Design Application Platform Expert Define Technology Standards Business Analyst Capture Business Process Coder Code Application Core Component Builder Build Core Components

22

23 The Real World is Complex Solution Structure Designer Design Application Platform Expert Define Technology Standards Business Analyst Capture Business Process Coder Code Application Core Component Builder Build Core Components Data Architect Create Data Model DBA/OpsMaintainInfrastructure Senior User Represent Users Project Manager Deliver to Schedule Graphic Designer Design look + feel Interaction or Experience Manager Web Developer Implement look + feel Policies and restrictions Users Description of Application - Flow diagram - Prototype Description of Process Status Reports Estimates Requirements (often new) Domain Info Domain Info Visual spec Spec Feedback Description of Application - Flow diagram - Prototype Feedback Spec Work items Requirements (QoS) Logical/physicalarchitecture Possible solutions Data access API Database specs Feedback on errors/intent DB scripts Feedback on DB scripts Feedback on errors/intent Path to physical DB Advice and designs for Tricky parts of app Policies and restrictions Status Reports Estimates Hard to tell if application design correctly reflects business process Requirements often vague, incomplete Expensive to do this for every project PM has to trust these estimates No way to guarantee that spec is followed Too much hand holding Too much hand holding

24

25 Software Development as Craftsmanship Labor Intensive Generic Tools Generic Processes One off applications Hand stitched from scratch Minimal reuse Overruns, defects, security holes, project failures

26 Exploiting Commonality We already exploit economies of scale to automate production Stamping out many identical copies of a prototype Used to produce CDs/DVDs Does nothing to help development

27 Exploiting Commonality We can also exploit economies of scope Reuse designs & components Build many similar but distinct prototypes Key is supporting variability Define only the unique pieces of each system

28 Software Factories Domain-specific process Domain-specific tools & languages Domain-specific content Automate rote and menial tasks General-purpose IDEs become domain-specific software factories

29 Software Product Lines Build new solutions by assembling partial solutions and/or configuring general ones Specify only the unique features of each solution and assume the common ones Variations in requirements map predictably to variations in artifacts and processes Reduce custom development by 40% to 80% for the typical solution

30 Another Development Process Tools, Process, Content creates uses Requirements, Defects uses creates creates Product Development Asset Development Business createsuses Products uses Requirements, Defects creates

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

32 Feature Models Payment FrequentFlyer PayOnDelivery mandatory feature optional feature alternative features No decision regarding the mechanism for implementing variability! CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip «implies» Used by permission from Krzysztof Czarnecki

33 Using A Feature Model Payment FrequentFlyer PayOnDelivery CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip Used by permission from Krzysztof Czarnecki

34 Using A Feature Model Payment ElectronicCheck PayOnDelivery CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip Used by permission from Krzysztof Czarnecki

35 Using A Feature Model Payment ElectronicCheck CreditCard OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement Shipping PackageSlip Used by permission from Krzysztof Czarnecki

36 Industrializing Software Development Improve productivity and predictability across the software life cycle Make it easy to deliver a wide range of tailored solutions Software Product Lines Architecture Frameworks Model Driven Development Guidance In Context

37 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Download ppt "EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture"

Similar presentations


Ads by Google